HBase架構


在HBase中,表被分割成區域,並由區域伺服器提供服務。區域被列族垂直分為“Stores”。Stores被儲存在HDFS檔案。下面顯示的是HBase的結構。

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

HBase Architecture

HBase有三個主要組成部分:用戶端庫,主伺服器和區域伺服器。區域伺服器可以按要求新增或刪除。

主伺服器

主伺服器是 -

  • 分配區域給區域伺服器並在Apache ZooKeeper的幫助下完成這個任務。
  • 處理跨區域的伺服器區域的負載均衡。它解除安裝繁忙的伺服器和轉移區域較少占用的伺服器。
  • 通過判定負載均衡以維護叢集的狀態。
  • 負責模式變化和其他後設資料操作,如建立表和列。

區域

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

區域伺服器

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

  • 與用戶端進行通訊並處理資料相關的操作。
  • 控制代碼讀寫的所有地區的請求。
  • 由以下的區域大小的閾值決定的區域的大小。

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

Regional Server

儲存包含記憶體儲存和HFiles。memstore就像一個快取記憶體。在這裡開始進入了HBase儲存。資料被傳送並儲存在Hfiles作為塊並且memstore重新整理。

Zookeeper

  • Zookeeper管理是一個開源專案,提供服務,如維護組態資訊,命名,提供分散式同步等
  • Zookeeper代表不同區域的伺服器短暫節點。主伺服器使用這些節點來發現可用的伺服器。
  • 除了可用性,該節點也用於追蹤伺服器故障或網路分割區。
  • 用戶端通過與zookeeper區域伺服器進行通訊。
  • 在模擬和獨立模式,HBase由zookeeper來管理。