HBase讀寫資料流程

2021-07-30 07:30:14 字數 1082 閱讀 3364

hbase的系統表

hbase:namespace    儲存了hbase中的所有namespace的資訊

hbase:meta    儲存了hbase中所有的region的資訊,包括rowkey範圍,region所在的regionserver的位址。

hbase:meta  在zookeeper中,進入zookeeper中檢視

讀的流程:

1、連線zookeeper,找到meta表所在的regionserver的位址

2、訪問對應的regionserver,讀meta表的資訊

3、通過命令找到rowkey對應的region,得到region的名稱

4、訪問region所在的regionserver

5、訪問對應store  讀記憶體(memstore  cache)  storefile

寫的流程:

1、連線zookeeper,找到meta表所在的regionserver的位址

2、訪問對應的regionserver,讀meta表的資訊

3、通過命令找到rowkey對應的region,得到region的名稱

4、訪問region所在的regionserver

5、正常情況

wal(hlog),write ahead log

memstore

flush:將記憶體中的資料進行溢寫到磁碟變成storefile

compact:將多個storefile進行合併,變成乙個大檔案    等到多個store中的storefile的和達到一定閾值,後進行split(region的等分成兩個region,又master分配,當前region消失)

HBase讀寫資料流程

客戶端現在要插入一條資料,rowkey r000001,這條資料應該寫入到table表中的那個region中呢?1 客戶端要連線zookeeper,從zk的 hbase 節點找到 hbase meta 表所在的regionserver host port 2 regionserver 掃瞄 hbas...

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...