每台HRegion服務器都會和HMaster服務器通信,HMaster的主要任務就是告訴每個HRegion服務器它要維護哪些HRegion。
當一台新的HRegion服務器登錄到HMaster服務器時,HMaster會告訴它先等待分配數據。
而當一台HRegion死機時,HMaster會把它負責的HRegion標記為未分配,然后再把它們分配到其他HRegion服務器中。
如果當前HBase已經解決了之前存在的SPFO(單點故障),並且HBase中可以啟動多個HMaster,那么它能夠通過Zookeeper來保證系統中總有一個Master在運行。
HBase HA的分布式集群部署
HMaster在功能上主要負責Table表和HRegion的管理工作,具體包括:
1、管理用戶對Table表的增、刪、改、查操作;
2、管理HRegion服務器的負載均衡,調整HRegion分布;
3、在HRegion分裂后,負責新HRegion的分配;
4、在HRegion服務器停機后,負責失效HRegion服務器上的HRegion遷移。