Hbase角色和架構

2021-09-10 13:38:51 字數 1614 閱讀 1267

元件hbase的架構

hmaster

功能:監控regionserver

處理regionserver故障轉移

處理元資料變更

處理region的分配或移除

空閒時對資料進行負載均衡

通過zookeeper發布自己的位置給客戶端

regionserver

功能負責儲存hbase的實際資料

處理分配給它的region

重新整理快取到hdfs上

維護hlog

執行壓縮

負責處理region分片

1) write-ahead logs

hbase的修改記錄,當對hbase讀寫資料的時候,資料不是直接寫進磁碟,它會在記憶體中保留一段時間(時間以及資料量閾值可以設定),但是把資料儲存在記憶體中可能有更高概率引起資料丟失,為了解決這個問題,資料會寫在乙個write-ahead logfile 檔案中,然後寫入記憶體,所以在系統出現故障時,資料可以通過這個日誌檔案重建

2) hfile

磁碟上儲存原始資料的實際物理檔案,是實際的儲存檔案

3) store

hfile 儲存在 store 中,乙個 store 對應 hbase 表中的乙個列族

4) memstore

記憶體儲存,位於記憶體中,用來儲存當前資料操作,所以當資料儲存在wal中之後,regionserver會在記憶體中儲存鍵值對

5) region

hbase表分片,hbase表會根據rowkey值被切分成不同的region儲存在regionserver中,在乙個regionserver中可以有不同的region

hbase 一種是作為儲存的分布式檔案系統,另一種是作為資料處理模型的 mr 框架。因為日常開發人員比較熟練的是結構化的資料進行處理,但是在 hdfs 直接儲存的檔案往往不具有結構化,所以催生出了 hbase 在 hdfs 上的操作。如果需要查詢資料,只需要通過鍵值便可以成功訪問.

雖然hbase內建有zookeeper,但是一般會有其他zookeeper集群來監管master和regionserver,zookeeper通過選舉,保證在任何時候,集群中只有乙個活躍的hmaster,hmaster與hregionserver啟動時會向zookeeper註冊,儲存所有hregion的定址入口,實時監控hregionserver的上線和下線資訊,並實時通知給hmaster,儲存hbase的schema和table元資料,預設情況下,hbase管理zookeeper例項,zookeeper的引入使得hmaster不再是單點故障,一般情況下會啟動兩個hmaster,非active的hmaster會定期和active hmaster通訊以獲取其最新狀態,從而保證它實時更新,如果啟動了多個hmaster反而增加了active hmaster的負擔

乙個regionserver可以包含多個hregion,每個regionserver維護乙個hlog,和多個hfiles以及對應的memstore,regionserver執行在datanode上,數量可以與datanode數量一致

HBASE部分 HBASE的架構

hbase的架構 包含訪問hbase的介面並維護cache來加快對hbase的訪問 zookeeper 保證任何時候,集群中只有乙個master 存貯所有region的定址入口。實時監控region server的上線和下線資訊。並實時通知master 儲存hbase的schema和table元資料...

HBase 架構組成

主要負責hregionserver的協調管理及table的ddl操作 新增 更新和刪除 hregionserver的管理包含兩方面 監控hregionserver的執行狀態 從zk接受通知 region的分配 hregionserver擴容 宕機及負載均衡等情況 hmaster的ha解決方案 主備切...

HBase架構解析

hbase是存大資料的,之前也用過,一直沒好好的梳理下整個原理,通過網上搜尋和阿里大學的免費課程,總結了一下,希望對大家有所幫助,理論都是無聊的,希望大家能耐下心來一起成長。client就是你的 順序是這樣的 1 先訪問zookeeper,獲取region server位址。2 client再去訪問...