HBase 架構



在 HBase 中,表被分割成多個區域,並由區域伺服器提供服務。區域根據列族垂直劃分成“儲存”。儲存以檔案的形式儲存在 HDFS 中。下圖顯示了 HBase 的架構。

注意:為了解釋儲存結構,“儲存”一詞在此處用於表示區域。

HBase Architecture

HBase 有三個主要元件:客戶端庫、主伺服器和區域伺服器。可以根據需要新增或移除區域伺服器。

主伺服器 (MasterServer)

主伺服器:

  • 將區域分配給區域伺服器,併為此任務藉助 Apache ZooKeeper。

  • 處理跨區域伺服器的區域負載均衡。它解除安裝繁忙的伺服器並將區域轉移到負載較低的伺服器。

  • 透過協商負載均衡來維護叢集的狀態。

  • 負責模式更改和其他元資料操作,例如建立表和列族。

區域 (Regions)

區域只是被分割並分佈在區域伺服器上的表。

區域伺服器 (Region server)

區域伺服器擁有以下區域:

  • 與客戶端通訊並處理與資料相關的操作。
  • 處理其下所有區域的讀寫請求。
  • 根據區域大小閾值決定區域的大小。

當我們深入研究區域伺服器時,它包含如下所示的區域和儲存

Regional Server

儲存包含記憶體儲存和 HFile。Memstore 就像快取記憶體一樣。任何輸入 HBase 的內容都先儲存在此處。之後,資料會被傳輸並儲存到 HFile 中作為塊,並且 Memstore 會被重新整理。

ZooKeeper

  • ZooKeeper 是一個開源專案,提供維護配置資訊、命名、提供分散式同步等服務。

  • ZooKeeper 具有表示不同區域伺服器的短暫節點。主伺服器使用這些節點來發現可用的伺服器。

  • 除了可用性之外,這些節點還用於跟蹤伺服器故障或網路分割槽。

  • 客戶端透過 ZooKeeper 與區域伺服器通訊。

  • 在偽分散式和單機模式下,HBase 本身將負責 ZooKeeper。

廣告
© . All rights reserved.