HBase作為儲存方案

2021-09-22 22:19:09 字數 2562 閱讀 9841

1. 包含訪問hbase的介面,並維護cache來加快對hbase的訪問,比如region的位置資訊。

* zookeeper:

1. 選舉集群中的master,master與regionservers 啟動時會向zookeeper註冊。

2. 儲存所有region的定址入口。

3. 實時監控region server狀態並實時通知master。

4. 儲存hbase的schema和table元資料。

5. 使master不存在單點故障。

* master

1. 在region split後,為region server分配region。

2. 管理hregionserver的負載均衡,調整region分布。

3. 發現失效的region server後重新分配其上的region,並負責regions遷移。。

4. 管理使用者對table的增刪改查操作。

* region server

1. regionserver維護region,處理對這些region的io請求,向hdfs檔案系統讀寫資料。

2. regionserver負責切分在執行過程中變得過大的region。

* region

1. table按照行分割成若干region,每個region對應table中的乙個region。

2. region由多個hstore組成。

* hlog

1. 類似mysql的binlog,資料會先寫到wal上,然後再放到記憶體中,資料恢復。

2. 已經持久化到storefile的hlog會定期被刪除。

* hstore

1. hbase的儲存核心,由memstore和storefile組成。

2. 每個hstore對應table的乙個列族的儲存。

* memstore

1. 資料不直接寫磁碟而是先寫到memstore,當滿了才會flush到storefile中。

2. 底層由hfile實現。

3. 資料只需寫入到此記憶體即可返回,快速的插入操作。

* storefile

1. storefile檔案數到一定閥值會觸發compact合併操作,多個storefile變成乙個storefile。

2. 所有資料操作都是新增操作,保證i/o,而對於資料更新/刪除都是在後續compact過程中完成。

hbase支援很多檔案系統的儲存。

1. 作業系統原生檔案系統。

2. hdfs檔案系統。

3. 其他檔案系統。

hdfs可靠性高及其同屬同個生態,選擇hdfs作為儲存。

定址過程大致為client -> -root- -> .meta. -> rs ->region -> rowkey。

client通過zookeeper的root-region-server節點獲取哪個server管理-root-表,包含該機器的ip位址和埠。

接著訪問-root-表,該錶只有乙個region且不會split,每行記錄了.meta.表的乙個region資訊,以及這個region的startkey和endkey,查詢到.meta.表包含要查的rowkey記錄的region的ip和埠。

接著訪問該ip和埠的.meta.表,根據rowkey找到使用者表資料存放對應的region的機器資訊,根據rowkey查詢對應的regionserver和region。最後到對應的region找到value。

根據查到的使用者表資訊到對應機器上查詢資料。

客戶端會快取查詢過的rowkey的位址。

client訪問hbase上資料的過程並不需要master參與(定址訪問zookeeper和region server,資料讀寫訪問region server),master僅僅維護table和region的元資料資訊,負載很低。

詳細的一些資料後面在寫**階段會給出。

當資料峰值接近系統設計容量時,可以簡單的通過增加伺服器的方式來擴大容量。某種程度上來說,這個動態擴容過程無需停機,hbase系統可以照常執行並提供讀寫服務,完全實現動態無縫無宕機擴容。

balance模式下,會自動將資料遷移到新機器上,適合中小集群,遷移過程大量消耗機器資源。

非balance模式下,新寫入檔案寫到新機器上。

官方的命令列或二次開發,rest介面。官方有原生監控平台。

biginsights。

hbase優勢在於接近線性的任意水平擴充套件,不必在單機上與redis效能太較真,看自己場景選擇。

*****===廣告時間*****===

鄙人的新書《tomcat核心設計剖析》已經在京東銷售了,有需要的朋友可以到 進行預定。感謝各位朋友。

為什麼寫《tomcat核心設計剖析》

HBase作為儲存方案

1.包含訪問hbase的介面,並維護cache來加快對hbase的訪問,比如region的位置資訊。zookeeper 1.選舉集群中的master,master與regionservers 啟動時會向zookeeper註冊。2.儲存所有region的定址入口。3.實時監控region server...

Hbase儲存相關

hbase 的儲存機制 region 區域 表上的一塊資料 store 邏輯上的列簇 memstore列簇緩衝區 儲存熱資料 最近瀏覽,更新等操作的資料 region server的工作職責 管理region 和 響應io請求 資料可靠性的體現 1 如果乙個region server掛了 寫日誌 h...

HBase資料儲存

hbase的資料檔案都儲存在hdfs上,格式主要有兩種 hfile hbase中keyvalue資料的儲存格式,hfile是hadoop的二進位制檔案,實際上storefile就是對hfile做了輕量級的包裝,即storefile底層就是hfile hlog file hbase中wal write...