hbase真正刪除數據「hbase刪除數據的幾種方式」

寫流程

大數據技術之HBase原理分析

1)Client向HregionServer發送寫請求;

2)HregionServer將數據寫到HLog(write ahead log)。為了數據的持久化和恢復;

3)HregionServer將數據寫到內存(MemStore);

4)反饋Client寫成功。

數據flush過程

1)當MemStore數據達到閾值(默認是128M,老版本是64M),將數據刷到硬盤,將內存中的數據刪除,同時刪除HLog中的歷史數據;

2)並將數據存儲到HDFS中;

3)在HLog中做標記點。

數據合併過程

1)當數據塊達到4塊,Hmaster將數據塊加載到本地,進行合併;

2)當合併的數據超過256M,進行拆分,將拆分後的Region分配給不同的HregionServer管理;

3)當HregionServer宕機後,將HregionServer上的hlog拆分,然後分配給不同的HregionServer加載,修改.META;

4)注意:HLog會同步到HDFS。

讀流程

大數據技術之HBase原理分析

1)Client先訪問zookeeper,從meta表讀取region的位置,然後讀取meta表中的數據。meta中又存儲了用戶表的region信息;

2)根據namespace、表名和rowkey在meta表中找到對應的region信息;

3)找到這個region對應的regionserver;

4)查找對應的region;

5)先從MemStore找數據,如果沒有,再到StoreFile上讀(為了讀取的效率)。

大數據技術之HBase原理分析

Hmaster的職責

1)管理用戶對Table的增、刪、改、查操作;

2)記錄region在哪台Hregion server上;

3)在Region Split後,負責新Region的分配;

4)新機器加入時,管理HRegion Server的負載均衡,調整Region分佈;

5)在HRegion Server宕機後,負責失效HRegion Server 上的Regions遷移。

Hregionserver的職責

1)HRegion Server主要負責響應用戶I/O請求,向HDFS文件系統中讀寫數據,是HBASE中最核心的模塊。

2)HRegion Server管理了很多table的分區,也就是region。

Client職責

1)HBASE Client使用HBASE的RPC機制與HMaster和RegionServer進行通信

2)管理類操作:Client與HMaster進行RPC;

3)數據讀寫類操作:Client與HRegionServer進行RPC。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/274299.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:12
下一篇 2024-12-17 14:12

相關推薦

發表回復

登錄後才能評論