zoukankan      html  css  js  c++  java
  • HBase版本进化史及大版本特性

    HBase 2.0 新特性介绍

    2018年4月30日HBase发布了2.0的Release版本。HBase的2.0版本承载了太多的Features,共包含4551个Issues,可以说是迄今最大的一个版本。

    • A new Region assignment manager

    AssignmentManager V2("AMv2")基于Procedure V2实现,能够更快速的分配Region,维护的region状态机存储不再依赖于ZooKeeper,能够更好的应对Region长时间RIT问题。

    • Offheaping of Read/Write

    减少对Heap内存的使用,改用Offheap区的内存,有效减少GC压力

    • In-Memory Compaction

    重新设计了CompactingMemStore 替代 DefaultMemStore,CompactingMemStore中的数据达到一定大小以后,不是直接Flush成HDFS中的HFile文件,而是先Flush到内存中的一个不可改写的Segment,这样,内存中的多个Segments可以预先合并,当达到一定的大小以后,才Flush成HDFS中的HFile文件,这样做的好处是希望有效降低Compaction所带来的写IO放大问题。

    • NettyRpcServer

    HBase2.0 开始默认使用NettyRpcServer
    使用Netty替代HBase原生的RPC server,大大提升了HBaseRPC的吞吐能力,降低了延迟

    • Async RPC Client

    HBase2.0 Client不在是原来同步等待,而是利用异步RPC机制,大大提高Client端请求并发度,有效提高资源利用率,扩大吞吐。

    • RegionServer Group

    在HBase 2.0中我们可以将RegionServer划分到多个逻辑Group中,这样可以提供多租户的能力。

    • Support for MOB

    MOB特性使得HBase支持存储小于10MB 的中等媒体对象数据,这些小对象文件采用独立的HFile文件进行存储,相比原来直接存储大对象插入hbase,其读写效率更高;Mob数据存储还是以hfile格式存储,兼容HBase现有特性,如snapshot、bulkload、replication等。MOB数据文件有独立的compaction和expire clean机制,稳定性更可控。

    • 与1.x版本的兼容性

    1.x版本的Client可以访问2.0版本的集群,进行正常的数据读写操作。但从1.x版本不停服务的情况下滚动升级到2.0版本是没法做到的,1.x版本的coprocessor/Endpoint不做改动的情况下也无法在2.0版本中正常使用。

    HBase1.0 新特性介绍

    • API的变化,比如放弃了客户端几个重要的API:( HTableInterface, HTable,HBaseAdmin),建议程序升级到新的API,老的PAI会在2.X中删除。
    • 不重启regionserver的情况下读取配置文件。
    • master节点也运行regionserver。master与regionserver共享RPC端口。
    • global memstore和block cache大小的自动调整。
    • Bucket cache改进(data blocks的可用性和压缩方面)
    • 集群中一个新的可插拔式的终端来复制成自定义存储。(A new pluggable replication endpoint to plug in to HBase's inter-cluster replication to replicate to a custom data store)
    • 新增truncate table 命令
    • 新增meta table来替代zk来进行更快的region分配(此功能默认是关闭都)
    • 广泛的文档改进
    • [HBASE-12511] - namespace permissions - add support from table creation privilege in a namespace 'C'
    • 位Thrift Server添加Thrift-over-HTTPS 和 doAs支持(?)
    • bulkload复制表
    • 使用前缀设置一个行的开始和结束更加easy了。
    • 脚本停止regionserver使用RPC
    • 客户端的原子性检查和变化的支持。
    • 自动增加heap size的值如果开始没有指定大小的话。
    • regionserver协处理器终端。
    • 添加了在一个regionserver上压缩所有region的命令。
    • 添加LongComparator过滤器
    • [shell]在线加载配置文件的改变。
    • REST server的一些修复。
    • 需要zk3.4.X的支持。
    • 需要hadoop2.x的支持
    • jdk1.7,不再支持1.6
    • 默认的端口号已经由600xx改成了160XX
    • 默认使用hfile version3
    • Slab cache已经被移除,使用bucket cache
    • 默认的regionserver堆内存由1G改为jdk默认的数值,一般为物理内存的四分之一。
    • mapred包和类已经被废除。
    • 加入两个新的模块:hbase-annotations 和 hbase-rest

    HBase 0.98 新特性介绍

    HBase 0.98新版本中包含了一些新的安全特性

    • cell可见性标签
    • cell ACL以及透明化的服务器端加密等
    • 预写日志线程模型在高负载情况下可提供了更高的吞吐量
    • 反向扫描器
    • 快照文件MapReduce
    • Stripe Compaction

    HBase版本进化史

    2006年至今,HBase经历了10多年的演化迭代:

    • 2006年12月,Google发布了论文《Bigtable: A Distributed Storage System for Structured Data》,基于该文论的设计思想,HBase原型实现后来才得以诞生。
    • 2007年02月,作为Hadoop项目的分支,第一版HBase诞生。
    • 2007年10月,第一个可用的HBase版(Hadoop0.15.0)诞生。
    • 2008年01月,Hadoop成为Apache的顶级项目,HBase为其子项目。
    • 2008年10月,HBase 0.18.0版本发布。
    • 2009年01月,HBase 0.19.0版本发布。
    • 2009年10月,HBase 0.20.0版本发布。
    • 2010年05月,HBase晋升为Apache的顶级项目。
    • 2010年06月,HBase 首个开发者版本(0.89.20100621)发布。
    • 2011年01月,Hbase 首个可持续的,稳定版(0.90.0)版本发布。
    • 2012年01月,Hbase 0.92.0版本发布,支持事物(coprocessor)和安全(security)作为其版本标签。
    • 2012年05月,HBase 0.94.0版本发布,性能作为其版本标签。
    • 2013年01月,HBase 0.96.0版本发布。
    • 2014年02月,0.98.0版本发布,该版本也是很多国内公司最早使用的版本。
    • 2015年02月,HBase 1.0.0版本发布。
    • 2016年02月,HBase 1.2.0版本发布。
    • 2017年05月,HBase 1.2.6版本发布,作为其1.2版本的稳定版标签。
    • 2018年04月,HBase 期待已久的2.0.0版本正式发布。
    • 2018年06月,Hbase Hbase2.0.1版本发布。

    HBase0.98.0、HBase1.2.6版本、HBase1.4+版本是目前很多互联网公司主流版本,系统稳定性、可靠性等都经受了很多考验。另外,对于想紧跟社区步伐,体验新功能的同学,可以使用最新的2.0版本。

  • 相关阅读:
    Creating a generic Web Parts for hosting ASP.NET User Controls
    Speed Up SQL Server Apps 提高SQL Server应用程序的运行效率 (Part 1)
    How to use CreateChildContorls method inherited from System.Web.UI.Control
    How to quickly access Web Part Management Page
    SQL Script tips for MS SQL Server
    How to enable single signon service on the SPS
    A brief summary of UML & Rational Rose – Use Case Diagram, Part II
    Borland Together for Visual Studio.Net V2.0 安装问题
    Speed Up SQL Server Apps 提高SQL Server应用程序的运行效率 (Part 2)
    体验ReSharper V1.0 for VS.Net 2003 Part I
  • 原文地址:https://www.cnblogs.com/yyy-blog/p/11846738.html
Copyright © 2011-2022 走看看