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.imooc.com/article/28259
來源:慕課網
推薦閱讀:
打造個人品牌 so easy !_慕課手記
有獎徵文003期|程序員進階路上,哪本書你讀過2遍+?對你有何啟示?
四大維度解鎖Webpack 工程化的補充
HBase偽分散式安裝
我們為什麼需要HBase?
推薦閱讀:
※求指教學習redis源碼的方法?
※Spring Boot使用Redis進行消息的發布訂閱
※Redis源碼剖析--跳躍表zskiplist
※如何讓網站不下線而從 Redis 2 遷移到 Redis 3
※redis學習系列(四)——redis高級應用(集群搭建、集群分區原理、集群操作)