HBase架構

在HBase中,表被分割成區域,並由區域服務器提供服務。區域被列族垂直分爲「Stores」。Stores被保存在HDFS文件。下面顯示的是HBase的結構。

注意:術語「store」是用於區域來解釋存儲結構。

HBase

HBase有三個主要組成部分:客戶端庫,主服務器和區域服務器。區域服務器可以按要求添加或刪除。

主服務器

主服務器是 -

  • 分配區域給區域服務器並在Apache ZooKeeper的幫助下完成這個任務。
  • 處理跨區域的服務器區域的負載均衡。它卸載繁忙的服務器和轉移區域較少佔用的服務器。
  • 通過判定負載均衡以維護集羣的狀態。
  • 負責模式變化和其他元數據操作,如創建表和列。

區域

區域只不過是表被拆分,並分佈在區域服務器。

區域服務器

區域服務器擁有區域如下 -

  • 與客戶端進行通信並處理數據相關的操作。
  • 句柄讀寫的所有地區的請求。
  • 由以下的區域大小的閾值決定的區域的大小。

需要深入探討區域服務器:包含區域和存儲,如下圖所示:

Regional

存儲包含內存存儲和HFiles。memstore就像一個高速緩存。在這裏開始進入了HBase存儲。數據被傳送並保存在Hfiles作爲塊並且memstore刷新。

Zookeeper

  • Zookeeper管理是一個開源項目,提供服務,如維護配置信息,命名,提供分佈式同步等
  • Zookeeper代表不同區域的服務器短暫節點。主服務器使用這些節點來發現可用的服務器。
  • 除了可用性,該節點也用於追蹤服務器故障或網絡分區。
  • 客戶端通過與zookeeper區域服務器進行通信。
  • 在模擬和獨立模式,HBase由zookeeper來管理。