hbase讀寫請求流程詳解

要理解讀寫流程,先要清除hbase的架構(gòu)圖。以0.96版本以下的三層架構(gòu)為例:

Hbase的架構(gòu)

hbase是主從架構(gòu),主節(jié)點是HMaster,從節(jié)點是HRegionServer。

HMaster:負(fù)責(zé)regionserver的運(yùn)行狀態(tài)和region負(fù)載均衡。

HRegionServer:負(fù)責(zé)存儲表格,以及響應(yīng)client的連接。包含一個HLog和多個HRegion。

zk負(fù)責(zé)保證HMaster的高可用和region server的注冊。

-----------------------------------------------------------------------------------------------------------------------------------------------

1、hbase的讀請求流程

hbase讀請求

Ⅰ從zk中獲取regionserver的meta信息。

Ⅱ通過root表,根據(jù)meta信息找到對應(yīng)的regioonserver位置信息

Ⅲ找到對應(yīng)的regionserver,獲取table的meta信息

Ⅳ通過table的meta信息,找到實際存儲table的regionserver

Ⅴ客戶端直接連接表所在的regionserver,獲取數(shù)據(jù)

--注:為了讓客戶端找到包含特定主鍵的region,HBase提供了兩張?zhí)厥獾哪夸洷恚?root和.meta。root表用來查詢所有meta表中的region位置。hbase的設(shè)計中只有一個root region,即root region從不進(jìn)行拆分。從而保證類似于B+樹的三層查找結(jié)構(gòu)。第一層是ZK中包含root region的節(jié)點,第二層是從root中查找對應(yīng)meta region的位置,第三層是從meta表中查找用戶表對應(yīng)的region的位置信息。

2、hbase的寫請求過程?

hbase寫請求過程

1、client先從緩存中定位region,如果沒有緩存則訪問zk,找到最先寫入的region信息。

2、將更新寫到WAL中。為了防止發(fā)生數(shù)據(jù)丟失。

3、將數(shù)據(jù)寫入到memstore中

4、數(shù)據(jù)達(dá)到閾值(默認(rèn)128m)會觸發(fā)flush操作,生成多個storefile文件。

5、當(dāng)storefile文件過多,會觸發(fā)compact操作,合并文件,生成Hfile。

6、當(dāng)HFile文件大于閾值(默認(rèn)10g),會觸發(fā)split操作,新拆分的兩個region會被master分發(fā)到對應(yīng)的兩個regionserver上。

-----------------------------------------------------------------------------------------------------------------------------------------------

注:0.96以上版本采用雙層架構(gòu),刪除了root表,只使用meta定位數(shù)據(jù)。meta表的一個region以12m來計算,可以定位16T的行鍵范圍。如果1個行鍵范圍包含10條數(shù)據(jù),則有160T的數(shù)據(jù),所以不需要root表。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、HBase簡介 Hbase是什么 HBase是一種構(gòu)建在HDFS之上的分布式、面向列、多版本、非關(guān)系型的數(shù)據(jù)庫...
    便利蜂數(shù)據(jù)平臺閱讀 1,022評論 0 4
  • 一、簡介 Hbase:全名Hadoop DataBase,是一種開源的,可伸縮的,嚴(yán)格一致性(并非最終一致性)的分...
    菜鳥小玄閱讀 2,615評論 0 12
  • 簡介 HBase —— Hadoop Database的簡稱,Google BigTable的另一種開源實現(xiàn)方式,...
    編碼前線閱讀 329評論 0 0
  • 1、基本概念 HBase是一個開源的非關(guān)系型分布式數(shù)據(jù)庫(NoSQL),參考了谷歌的BIgTable建模,實現(xiàn)的編...
    雪飄千里閱讀 1,096評論 0 2
  • 重讀《豪婚》有感 文/林夢竹 0904 098 今天上午重讀《豪婚》,下午上班繼續(xù)每天一日的磨課。每個老師上臺講...
    竹海葉軒閱讀 169評論 0 1

友情鏈接更多精彩內(nèi)容