Hbase的读写流程
HBase讀寫流程
1、HBase讀數據流程
HRegionServer保存著meta表以及表數據,要訪問表數據,首先Client先去訪問zookeeper,從zookeeper里面獲取meta表所在的位置信息,即找到這個meta表在哪個HRegionServer上保存著。
接著Client通過剛才獲取到的HRegionServer的IP來訪問Meta表所在的HRegionServer,從而讀取到Meta,進而獲取到Meta表中存放的元數據。
Client通過元數據中存儲的信息,訪問對應的HRegionServer,然后掃描所在HRegionServer的Memstore和Storefile來查詢數據。
最后HRegionServer把查詢到的數據響應給Client。
2、HBase寫數據流程
Client也是先訪問zookeeper,找到Meta表,并獲取Meta表元數據。
確定當前將要寫入的數據所對應的HRegion和HRegionServer服務器。
Client向該HRegionServer服務器發起寫入數據請求,然后HRegionServer收到請求并響應。
Client先把數據寫入到HLog,以防止數據丟失。
然后將數據寫入到Memstore。
如果HLog和Memstore均寫入成功,則這條數據寫入成功
如果Memstore達到閾值,會把Memstore中的數據flush到Storefile中。
當Storefile越來越多,會觸發Compact合并操作,把過多的Storefile合并成一個大的Storefile。
當Storefile越來越大,Region也會越來越大,達到閾值后,會觸發Split操作,將Region一分為二。
轉載于:https://www.cnblogs.com/alexzhang92/p/10936378.html
總結
以上是生活随笔為你收集整理的Hbase的读写流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北风设计模式课程---2、工厂方法模式
- 下一篇: 美团面试题:缓存一致性,我是这么回答的!