原文鏈接:http://blog.csdn.net/mm_bit/article/details/51304233
-----------------------------------
HMaster是Hbase主/從集群架構中的中央節點。通常一個HBase集群存在多個HMaster節點,其中一個為Active Master,其余為Backup Master.
Hbase每時每刻只有一個hmaster主服務器程序在運行,hmaster將region分配給region服務器,協調region服務器的負載并維護集群的狀態。Hmaster不會對外提供數據服務,而是由region服務器負責所有regions的讀寫請求及操作。
由于hmaster只維護表和region的元數據,而不參與數據的輸入/輸出過程,hmaster失效僅僅會導致所有的元數據無法被修改,但表的數據讀/寫還是可以正常進行的。
HMaster的作用:
- 為Region server分配region
- 負責Region server的負載均衡
- 發現失效的Region server并重新分配其上的region
- HDFS上的垃圾文件回收
- 處理schema更新請求
HRegionServer作用:
- 維護master分配給他的region,處理對這些region的io請求
- 負責切分正在運行過程中變的過大的region
Zookeeper作用在于:
? ? ? ? ? 1、hbase regionserver?向zookeeper注冊,提供hbase regionserver狀態信息(是否在線)。
? ? ? ? ? 2、hmaster啟動時候會將hbase系統表-ROOT-?加載到?zookeeper cluster,通過zookeeper cluster可以獲取當前系統表.META.的存儲所對應的regionserver信息。
?
zookeeper是hbase集群的"協調器"。由于zookeeper的輕量級特性,因此我們可以將多個hbase集群共用一個zookeeper集群,以節約大量的服務器。多個hbase集群共用zookeeper集群的方法是使用同一組ip,修改不同hbase集群的"zookeeper.znode.parent"屬性,讓它們使用不同的根目錄。比如cluster1使用/hbase-c1,cluster2使用/hbase-c2,等等。
-------------
更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:
http://www.cnblogs.com/zengmiaogen/p/7083694.html