圖文簡述HBase的用途(二)
- 2019 年 10 月 6 日
- 筆記
昨天,我們講到了HBase的邏輯結構,今天我們來看一下HBase的存儲及訪問原理。

一、從上圖我們可以看到,用戶首先通過client端發起HBase的數據訪問請求。Client一般為Java、C++等程式端,並綁定了HBase的開發工具包SDK。
二、Client從ZooKeeper中拿到HBase的HRegionServer的主節點地址,ZooKeeper負責RegionServer的主節點的動態管理、選擇。
三、HMaster是HBase 的主節點,負責整個集群的狀態感知、負載分配、負責用戶表的元數據(schema)管理。
四、RegionServer是HBase 中真正負責管理 Region 的伺服器,也就是負責為客戶端進行表數據讀寫的伺服器。每一台 RegionServer 會管理很多的 Region。並不是同一台RegionServer只能為一個表服務,而是為許多表提供服務。RegionServer將正在服務的Region放入記憶體中,並最終持久化至HDFS中進行數據的落盤。

五、Region是 HBase 將一個表中的所有數據按照 RowKey 的不同範圍進行切割的邏輯單元,每個 Region 負責一定範圍數據的讀寫訪問。該Region在RegionServer中進行管理,並最終存儲在HDFS中。
大家是否發現HBase與Hive有類似的地方,都是管理數據表。那他們的區別是什麼呢?我們明天講HBase第三章。