HBase讀寫資料流程

2021-09-09 06:25:54 字數 866 閱讀 7197

客戶端現在要插入一條資料,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讀寫資料流程

hbase的系統表 hbase namespace 儲存了hbase中的所有namespace的資訊 hbase meta 儲存了hbase中所有的region的資訊,包括rowkey範圍,region所在的regionserver的位址。hbase meta 在zookeeper中,進入zooke...

HBASE讀寫資料流程

客戶端請求寫資料首先會向zookeeper中的leader傳送寫資料的請求 在請求成功後leader會向客戶端傳送meta表的位置,告訴客戶端meta表在哪台regsion server上面 解析出meta表中的資料後,會向對應的regsion server機器傳送寫資料請求,請求成功後會在向該機器...

HDFS讀寫資料流程

步驟 1 客戶端通過 distributed filesystem 模組向namenode請求上傳檔案,namenode檢查目標檔案是否已存在,父目錄是否存在。2 namenode返回是否可以上傳。3 客戶端請求第乙個 block 上傳到哪幾個 datanode 伺服器上。4 namenode返回3...