Hbase讀寫流程

2021-10-17 15:22:43 字數 993 閱讀 3128

一、hbase的讀操作:

zookeeper---meta--regionserver--region--memstore--storefile

1、首先從zookerper找到meta表的region的位置,然後讀取meta表中的資料。而meta中又儲存了使用者表的region資訊

2、根據namespace、表名和rowkey根據meta表中的資料找到寫入資料對於的region資訊

3、然後找到對於的regionserver

4、查詢對應的region

5、先從memstore找資料,如果沒有,再到storefile上讀

二、hbase的寫操作:

zookeeper---meta--regionserver--1、hlog 1、memstore--storefile

1、首先從zookerper找到meta表的region的位置,然後讀取meta表中的資料。而meta中又儲存了使用者表的region資訊

2、根據namespace、表名和rowkey根據meta表中的資料找到寫入資料對於的region資訊

3、然後找到對於的regionserver

4、把資料分別寫到hlog和memstore各乙份

4、1當memstore達到閾值後把資料刷成乙個storefile檔案,當compact後,逐漸形成越來越大的storefile後觸發spilt,

把當前的storefile分成兩個,這裡相當於把乙個大的region分割成兩個region

4、1若memstore中的資料有丟失,則可以從hlog上恢復,當多個storefile檔案達到一定的大小後,會觸發compact合併操作,

合併為乙個storefile,這裡同時進行版本的合併和資料刪除

HBase 讀寫流程

1.讀流程 client先訪問zookeeper,從meta表讀取region的位置,然後讀取meta表中的資料。meta中又儲存了使用者表的region資訊 根據namespace 表名和rowkey在meta表中找到對應的region資訊 找到這個region對應的regionserver 查詢...

HBase讀寫流程

1 client先訪問zookeeper,從meta表讀取region的位置,然後讀取meta表中的資料。meta中又儲存了使用者表的region資訊 2 根據namespace 表名和rowkey在meta表中找到對應的region資訊 3 找到這個region對應的regionserver 4 ...

HBase讀寫流程

寫流程參考 1.首先,客戶端需要獲知其想要讀取的資訊的region的位置,這個時候,client訪問hbase上資料時並不需要hmaster參與 hmaster僅僅維護著table和region的元資料資訊,負載很低 只需要訪問zookeeper,從meta表獲取相應region資訊 位址和埠等 c...