HBase體系結構

2021-09-20 09:21:13 字數 2027 閱讀 9167

hbase的伺服器體系結構遵從簡單的主從伺服器架構,它由hregion伺服器(hregion service)群和hbase master伺服器(hbase master server)構成。hbase master伺服器負責管理所有的hregion伺服器,而hbase中所有的伺服器是通過zookeeper來進行協調,並處理hbase伺服器執行期間可能遇到的錯誤的。

當表的大小超過設定的值時,hbase會自動地將表劃分為不同的區域,每個區域包含所有行的子集。從物理上講,一張表被拆分成了多塊,每一塊兒就是乙個hregion.乙個hregion會儲存一表裡面某段連續的資料,從開始主鍵到結束主鍵,一張完整的**是儲存在多個hregion上面。

2、hregion伺服器

所有的資料一般都是儲存在hdfs中,使用者通過一系列hregion伺服器獲取這些資料,一台機器上一般只執行乙個hregion伺服器,且每乙個區段的hregion也只會被乙個hregion維護。

當使用者需要更新資料的時候,他會被分配到對應的hregion伺服器上提交修改,這些修改先是被寫到hmemcache快取和伺服器的hlog檔案裡面(hmemcache是記憶體中的快取,儲存最新更新的資料資料:hlog是磁碟上面的記錄檔案,它記錄著所有的更新操作),在操作寫入hlog之後,commit()呼叫才會將其返回給客戶端。

讀取資料時,hregion伺服器會先訪問hmemcache快取,如果快取中沒有該資料,才會回到hstores磁碟上面尋找,每個列族都會有乙個hstore集合,每個hstore集合包含很多具體的hstorefile檔案,這些檔案都是b樹結構,方便快速讀取。

啟動時,每台hregion伺服器會檢查自己的hlog檔案,看看最近一次執行flushcache之後有沒有新的更新寫入操作。如果沒有,表示資料都已經更新到檔案中了,如果有更新,伺服器會把這些更新寫快取記憶體,然後呼叫flushcache寫入到檔案中。最後伺服器會刪除舊的hlog檔案,並開始讓使用者訪問資料。

3、hbase master伺服器

每台hregion伺服器都會和hmaster伺服器通訊,hmaster的主要任務就是告訴每台hregion伺服器它要維護哪些hregion.當一台新的hregion伺服器登入到hmaster伺服器時,hmaster會告訴它先等待分配資料。而當一台hregion宕機時,hmaster會把它負責的hregion標記為未分配,然後再把它分配到其他hregion伺服器中。

4、root表和meta表

因為hbase有合併和分割操作,如果正好在執行這些操作的過程**現宕機,那麼就可能存在相同的表名和開始主鍵,每個hregion都有乙個regionid來標識它的唯一性。所以乙個hregion的表達符最後是:表名+開始主鍵+唯一id(tablename + startkey + regionid)。用這個識別符來區分不同的hregion,這些資料就是元資料(meta),而元資料本身也是被儲存在hregion裡面的,所以我們稱這個表為源資料表(meta table),裡面儲存的就是hregion識別符號和實際hregion伺服器的對映關係。

元資料表是會不斷增長的,也可能被分為幾個hregion,所以採用了乙個根資料表(root table),它儲存了所有元資料表的位置,根資料表是不會被拆分的,永遠存在於乙個hregion。

hbase資料模型

(注意的是,每一條資料對應的時間戳都是用數字來表示,編號越大表示資料越舊,反之則表示資料越新)

參考《hadoop 實戰》

HBase體系結構

hbase hbase是apache hadoop的資料庫,基於hdfs檔案系統 random,realtime read write access to big data 開源 分布式 可擴充套件 面向列 larger tables billions of rows x millions of c...

HBase體系結構

hbase hbase是apache hadoop的資料庫,基於hdfs檔案系統 random,realtime read write access to big data 開源 分布式 可擴充套件 面向列 larger tables billions of rows x millions of c...

Hbase的體系結構

包含訪問hbase的介面,並維護表對應的regionserver和region快取實現對hregionserver的快速訪問 master 1 管理集群中所有的regionserver,包括regionserver的負載均衡,regionserver的宕機恢復,region的遷移 2 響應使用者對錶...