在HBase中,表被分割成區(qū)域,并由區(qū)域服務器提供服務。區(qū)域被列族垂直分為“Stores”。Stores被保存在HDFS文件。下面顯示的是HBase的結構。
注意:術語“store”是用于區(qū)域來解釋存儲結構。
HBase有三個主要組成部分:客戶端庫,主服務器和區(qū)域服務器。區(qū)域服務器可以按要求添加或刪除。
主服務器
主服務器是 -
-
分配區(qū)域給區(qū)域服務器并在Apache ZooKeeper的幫助下完成這個任務。
-
處理跨區(qū)域的服務器區(qū)域的負載均衡。它卸載繁忙的服務器和轉移區(qū)域較少占用的服務器。
-
通過判定負載均衡以維護集群的狀態(tài)。
-
負責模式變化和其他元數(shù)據(jù)操作,如創(chuàng)建表和列。
區(qū)域
區(qū)域只不過是表被拆分,并分布在區(qū)域服務器。
區(qū)域服務器
區(qū)域服務器擁有區(qū)域如下 -
-
與客戶端進行通信并處理數(shù)據(jù)相關的操作。
-
句柄讀寫的所有地區(qū)的請求。
-
由以下的區(qū)域大小的閾值決定的區(qū)域的大小。
需要深入探討區(qū)域服務器:包含區(qū)域和存儲,如下圖所示:
存儲包含內(nèi)存存儲和HFiles。memstore就像一個高速緩存。在這里開始進入了HBase存儲。數(shù)據(jù)被傳送并保存在Hfiles作為塊并且memstore刷新。
Zookeeper
-
Zookeeper管理是一個開源項目,提供服務,如維護配置信息,命名,提供分布式同步等
-
Zookeeper代表不同區(qū)域的服務器短暫節(jié)點。主服務器使用這些節(jié)點來發(fā)現(xiàn)可用的服務器。
-
除了可用性,該節(jié)點也用于追蹤服務器故障或網(wǎng)絡分區(qū)。
-
客戶端通過與zookeeper區(qū)域服務器進行通信。
-
在模擬和獨立模式,HBase由zookeeper來管理。