HBase讀寫數據流程

寫數據流程

客戶端現在要插入一條數據,rowkey=r000001, 這條數據應該寫入到table表中的那個region中呢?

1/ 客戶端要連接zookeeper, 從zk的`/hbase`節點找到`hbase:meta`表所在的regionserver(`host:port`);

2/ `regionserver`掃描`hbase:meta`中的每個region的起始行健,對比`r000001`這條數據在那個region的範圍內;

3/ 從對應的 `info:server` key中存儲了region是有哪個regionserver(`host:port`)在負責的;

4/ 客戶端直接請求對應的regionserver;

5/ regionserver接收到客戶端發來的請求之後,就會將數據寫入到region中;

讀數據流程

客戶端現在要查詢rowkey=r000001這條數據,那麼這個流程是什麼樣子的呢?

 1/ 首先客戶端連接zookeeper, 找到hbase:meta表所在的regionserver;

 2/ 請求對應的regionserver,掃描hbase:meta表,找到r00001所在的region是由那個regionserver負責的;

 3/ 請求負責管理r00001的region對應的regionserver;

 4/ regionserver收到了請求之後,掃描對應的region返回數據到客戶端;

一個HBase表的結構

RegionServer

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章