天天看點

HBase架構解析Hbase元件尋找RegionServer過程詳解HBase容錯性

HBase架構解析Hbase元件尋找RegionServer過程詳解HBase容錯性

整個HBase叢集的入口

使用HBase RPC機制與HMaster和HRegionserver通信

與HMaster通信進行管理類的操作

與HRegionserver通信進行讀寫類操作

包含通路HBase的接口,并維護cache來加快對HBase的通路,與HRegionserver互動

保證任何時候,叢集中隻有一個Master

存貯所有Region的尋址入口

實時監控Region server的上線和下線資訊。并實時通知給Master

存儲HBase的schema和table中繼資料

管理使用者對Table的增删改查操作

管理HRegionServer的負載均衡,調整Region分布

在Region Split後,負責新Region的配置設定

在HRegionServer停機後,負責失效HRegionServer上的Region遷移

HMaster失效僅會導緻所有中繼資料無法被修改,表的資料讀寫還是可以正常運作

HBase中繼資料存儲在Zookeeper中

預設情況下,HBase管理Zookeeper示例,比如,啟動或停止Zookeeper

Zookeeper解決HBase單節點故障問題

HMaster與HRegionserver啟動時回向Zookeeper注冊

HBase架構解析Hbase元件尋找RegionServer過程詳解HBase容錯性

- Zookeeper(讀取Zookeeper找到-ROOT-表的位置)

- -ROOT-(-ROOT-表包含.META.表所在的region清單,該表隻會有一個Region;Zookeeper中記錄了-ROOT-表的location)

- .META(這個表包含所有的使用者空間region清單,已經RegionServer的伺服器位址)

- 使用者表

- Client第一次操作後,會将-ROOT-和.META.緩存到本地,不需要再通路zookeeper

(PS:0.96之後的版本,ZK不再存儲ROOT表資訊,直接存儲META表資訊)

Master容錯:Zookeeper重新選擇一個新的Master

無Master過程中,資料讀取仍然照常進行;

無Master中,region切分,負載均衡無法進行;

RegionServer容錯:定時向Zookeeper彙報心跳,如果一段時間内未出現心跳,master将該RegioinServer上的Region重新配置設定到其他RegionServer上;失效伺服器上“預寫”日志由伺服器進行分割并派送給新的ReginServer

zookeeper容錯:Zookeeper高可靠的服務,不存在單點故障