2018年4月30日HBase發(fā)布了2.0的Release版本倒彰。HBase的2.0版本承載了太多的Features,共包含4551個Issues莱睁,可以說是迄今最大的一個版本待讳。
HBase2.0做了那么多的改動,總有一些新特性值得我們?nèi)リP(guān)注仰剿。這里做一個簡單的介紹创淡,后續(xù)會對某些特性做詳細(xì)的介紹。
A new Region assignment manager
AssignmentManager V2("AMv2")基于Procedure V2實現(xiàn)南吮,能夠更快速的分配Region琳彩,維護的region狀態(tài)機存儲不再依賴于ZooKeeper,能夠更好的應(yīng)對Region長時間RIT問題部凑。
Offheaping of Read/Write
減少對Heap內(nèi)存的使用露乏,改用Offheap區(qū)的內(nèi)存,有效減少GC壓力
In-Memory Compaction
重新設(shè)計了CompactingMemStore 替代 DefaultMemStore涂邀,CompactingMemStore中的數(shù)據(jù)達到一定大小以后瘟仿,不是直接Flush成HDFS中的HFile文件,而是先Flush到內(nèi)存中的一個不可改寫的Segment比勉,這樣劳较,內(nèi)存中的多個Segments可以預(yù)先合并,當(dāng)達到一定的大小以后敷搪,才Flush成HDFS中的HFile文件兴想,這樣做的好處是希望有效降低Compaction所帶來的寫IO放大問題。
NettyRpcServer
HBase2.0 開始默認(rèn)使用NettyRpcServer
使用Netty替代HBase原生的RPC server赡勘,大大提升了HBaseRPC的吞吐能力嫂便,降低了延遲
Async RPC Client
HBase2.0 Client不在是原來同步等待,而是利用異步RPC機制闸与,大大提高Client端請求并發(fā)度毙替,有效提高資源利用率岸售,擴大吞吐。
RegionServer Group
在HBase 2.0中我們可以將RegionServer劃分到多個邏輯Group中厂画,這樣可以提供多租戶的能力凸丸。
Support for MOB
MOB特性使得HBase支持存儲小于10MB 的中等媒體對象數(shù)據(jù),這些小對象文件采用獨立的HFile文件進行存儲袱院,相比原來直接存儲大對象插入hbase屎慢,其讀寫效率更高;Mob數(shù)據(jù)存儲還是以hfile格式存儲忽洛,兼容HBase現(xiàn)有特性腻惠,如snapshot、bulkload欲虚、replication等集灌。MOB數(shù)據(jù)文件有獨立的compaction和expire clean機制,穩(wěn)定性更可控复哆。
與1.x版本的兼容性
1.x版本的Client可以訪問2.0版本的集群欣喧,進行正常的數(shù)據(jù)讀寫操作。但從1.x版本不停服務(wù)的情況下滾動升級到2.0版本是沒法做到的梯找,1.x版本的coprocessor/Endpoint不做改動的情況下也無法在2.0版本中正常使用唆阿。
引用:
期待已久的Apache HBase2.0已經(jīng)正式發(fā)布
在《HBase+SpringBoot實戰(zhàn)分布式文件存儲》課程中我們就提到了HBase的MOB,大家可以部署一下2.0版本的HBase提前感受一下初肉。