在HBase中,表被分割成區域,並由區域伺服器提供服務。區域被列族垂直分為“Stores”。Stores被儲存在HDFS檔案。下面顯示的是HBase的結構。
注意:術語“store”是用於區域來解釋儲存結構。
HBase有三個主要組成部分:用戶端庫,主伺服器和區域伺服器。區域伺服器可以按要求新增或刪除。
主伺服器
主伺服器是 -
-
分配區域給區域伺服器並在Apache ZooKeeper的幫助下完成這個任務。
-
處理跨區域的伺服器區域的負載均衡。它解除安裝繁忙的伺服器和轉移區域較少占用的伺服器。
-
通過判定負載均衡以維護叢集的狀態。
-
負責模式變化和其他後設資料操作,如建立表和列。
區域
區域只不過是表被拆分,並分布在區域伺服器。
區域伺服器
區域伺服器擁有區域如下 -
-
與用戶端進行通訊並處理資料相關的操作。
-
控制代碼讀寫的所有地區的請求。
-
由以下的區域大小的閾值決定的區域的大小。
需要深入探討區域伺服器:包含區域和儲存,如下圖所示:
儲存包含記憶體儲存和HFiles。memstore就像一個快取記憶體。在這裡開始進入了HBase儲存。資料被傳送並儲存在Hfiles作為塊並且memstore重新整理。
Zookeeper
-
Zookeeper管理是一個開源專案,提供服務,如維護組態資訊,命名,提供分散式同步等
-
Zookeeper代表不同區域的伺服器短暫節點。主伺服器使用這些節點來發現可用的伺服器。
-
除了可用性,該節點也用於追蹤伺服器故障或網路分割區。
-
用戶端通過與zookeeper區域伺服器進行通訊。
-
在模擬和獨立模式,HBase由zookeeper來管理。