- HBase 教程
- HBase 首頁
- HBase 概述
- HBase 架構
- HBase 安裝
- HBase Shell
- HBase 常用命令
- HBase 管理 API
- HBase 建立表
- HBase 列出表
- HBase 停用表
- HBase 啟用表
- HBase 描述和修改表
- HBase 表是否存在
- HBase 刪除表
- HBase 關閉
- HBase 客戶端 API
- HBase 建立資料
- HBase 更新資料
- HBase 讀取資料
- HBase 刪除資料
- HBase 掃描
- HBase 計數和截斷
- HBase 安全性
- HBase 資源
- HBase 問答
- HBase 快速指南
- HBase 有用資源
HBase 架構
在 HBase 中,表被分割成多個區域,並由區域伺服器提供服務。區域根據列族垂直劃分成“儲存”。儲存以檔案的形式儲存在 HDFS 中。下圖顯示了 HBase 的架構。
注意:為了解釋儲存結構,“儲存”一詞在此處用於表示區域。
HBase 有三個主要元件:客戶端庫、主伺服器和區域伺服器。可以根據需要新增或移除區域伺服器。
主伺服器 (MasterServer)
主伺服器:
將區域分配給區域伺服器,併為此任務藉助 Apache ZooKeeper。
處理跨區域伺服器的區域負載均衡。它解除安裝繁忙的伺服器並將區域轉移到負載較低的伺服器。
透過協商負載均衡來維護叢集的狀態。
負責模式更改和其他元資料操作,例如建立表和列族。
區域 (Regions)
區域只是被分割並分佈在區域伺服器上的表。
區域伺服器 (Region server)
區域伺服器擁有以下區域:
- 與客戶端通訊並處理與資料相關的操作。
- 處理其下所有區域的讀寫請求。
- 根據區域大小閾值決定區域的大小。
當我們深入研究區域伺服器時,它包含如下所示的區域和儲存
儲存包含記憶體儲存和 HFile。Memstore 就像快取記憶體一樣。任何輸入 HBase 的內容都先儲存在此處。之後,資料會被傳輸並儲存到 HFile 中作為塊,並且 Memstore 會被重新整理。
ZooKeeper
ZooKeeper 是一個開源專案,提供維護配置資訊、命名、提供分散式同步等服務。
ZooKeeper 具有表示不同區域伺服器的短暫節點。主伺服器使用這些節點來發現可用的伺服器。
除了可用性之外,這些節點還用於跟蹤伺服器故障或網路分割槽。
客戶端透過 ZooKeeper 與區域伺服器通訊。
在偽分散式和單機模式下,HBase 本身將負責 ZooKeeper。
廣告