hbase-各版本特性

1.0

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

2.0

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

HBase2.0做了那么多的改动,总有一些新特性值得我们去关注。这里做一个简单的介绍,后续会对某些特性做详细的介绍。

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版本中正常使用。

你可能感兴趣的:(hbase)