HBase 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 2.0版本正式发布

期待已久的Apache HBase2.0已经正式发布

《HBase+SpringBoot实战分布式文件存储》课程中我们就提到了HBase的MOB,大家可以部署一下2.0版本的HBase提前感受一下。

    原文作者:叁金
    原文地址: https://www.jianshu.com/p/c9b3dc30c61e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞