HBase的構成數據庫
物理上來講,HBase是由三種類型的服務器以主從模式構成的。這三種服務器分別是:Region server,HBase HMaster,ZooKeeper。服務器
其中Region server負責數據的讀寫服務。用戶經過溝通Region server來實現對數據的訪問。oop
HBase HMaster負責Region的分配及數據庫的建立和刪除等操做。server
ZooKeeper做爲HDFS的一部分,負責維護集羣的狀態(某臺服務器是否在線,服務器之間數據的同步操做及master的選舉等)。blog
另外,Hadoop DataNode負責存儲全部Region Server所管理的數據。HBase中的全部數據都是以HDFS文件的形式存儲的。出於使Region server所管理的數據更加本地化的考慮,Region server是根據DataNode分佈的。HBase的數據在寫入的時候都存儲在本地。但當某一個region被移除或被從新分配的時候,就可能產生數據不在本地的狀況。這種狀況只有在所謂的compaction以後才能解決。get
NameNode負責維護構成文件的全部物理數據塊的元信息(metadata)。同步
HBase結構以下圖所示:io