1.客戶端訪問zookeeper獲取hbase:meta表所在的regionserver資訊。
2.與對應regionserver通訊,獲取meta表,根據寫請求引數查詢出應寫入到哪個regionserver中的哪個region中,把該錶的region資訊和meta表的位置資訊儲存在客戶端本地metacache中,方便下次訪問。
3.與目標regionserver通訊,先將資料追加到預寫入日誌(wal)中,再寫入對應的寫快取中,資料在寫快取中進行排序。(若預寫入日誌同步到hdfs成功,寫快取中的資料有效,資料寫入成功。若失敗,寫快取中的資料回滾,資料寫入失敗。)
4.regionserver返回給客戶端確認資訊。
5.等到達flush時機,寫快取中的資料上傳到hdfs上。
Hbase寫資料流程詳解
客戶端client 通過zookeeper 獲知meta表所在的節點,又通過table和rowkey在meta表中找到 要進行操作的region的節點 進行傳送請求,請求先追加寫入wal日誌中,然後資料寫入到對應的memstore中 並在 進行排序 之後regionserver會返回ack進行核對。...
HBase讀寫資料流程
hbase的系統表 hbase namespace 儲存了hbase中的所有namespace的資訊 hbase meta 儲存了hbase中所有的region的資訊,包括rowkey範圍,region所在的regionserver的位址。hbase meta 在zookeeper中,進入zooke...
HBase讀寫資料流程
客戶端現在要插入一條資料,rowkey r000001,這條資料應該寫入到table表中的那個region中呢?1 客戶端要連線zookeeper,從zk的 hbase 節點找到 hbase meta 表所在的regionserver host port 2 regionserver 掃瞄 hbas...