溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HBase如何解決Region Server Compact過程占用大量網絡出口帶寬的問題

發布時間:2021-12-06 14:37:20 來源:億速云 閱讀:318 作者:柒染 欄目:云計算

這期內容當中小編將會給大家帶來有關HBase如何解決Region Server Compact過程占用大量網絡出口帶寬的問題,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

HBase 0.92版本之后,RegionServer的Compact過程根據待合并的文件大小分為smallcompaction和large compaction兩種,由此可能導致在集群寫入量大的時候Compact占用過多的網絡出口帶寬。本文將詳細描述集群使用過程中遇到這一問題的排查過程及其解決方法。

1. 發現問題

HBase集群(版本為0.94.0)運行過程中,發現5臺Region Server的網絡出口帶寬經常維持在100MB/s以上,接近到網卡的極限;同時Region Server的機器load負載也很高,高峰時候能夠達到30~50。

2. 排查問題

1、集群實際運行過程中,觀察到RegionServer服務端的網卡,平均每臺寫入流量大概60MB/s(此時寫入量已經很大了);讀出流量90MB/s,有時甚至突破100MB/s(注:每臺機器都是千兆網卡);

2、觀察實際的寫入數據量在每秒5w tps左右,單條記錄平均大小為1KB,大概會占用50MB/s左右的網卡入口帶寬請求量,和觀察到的現象一致;

3、觀察查詢量在每秒6w qps左右,單條記錄平均大小為1KB,大概會占用60MB/s左右的網卡出口帶寬請求量,奇怪的是實際觀察到有接近甚至超過100MB/s的網絡出口帶寬請求量,多出了40MB/s左右的網絡出口帶寬;

4、經分析排查確定導致上述過程的原因,可能是HBase服務端由于寫入量過大頻繁觸發compaction過程,而compaction是需要讀HBase數據的,因此占據了相當部分的網絡出口帶寬;

5、結合對相關源碼org/apache/hadoop/hbase/regionserver/CompactSplitThread.java的分析,決定對HBase集群配置做出變更(具體見下一小節),主要目的是減少compaction的發生;

6、接下來,觀察到RegionServer的網絡利用率明顯降低,一般進出口帶寬能維持在70MB/s以下。

3. 解決問題

HBase 0.92版本之后增加了關于compact的配置選項,compact分為small compaction和large compaction兩個線程池執行(默認都是各有1個線程,具體源代碼見:org/apache/hadoop/hbase/regionserver /CompactSplitThread.java),由于compact過程需要從HBase集群讀取數據,因此實際運行中導致了compact占用大 量網絡出口流量,解決方案為選擇性地關閉smallcompaction或large compaction。有以下兩種變更方式均可解決:

1)方案一

(1) 修改hbase.regionserver.thread.compaction.throttle為一個很大的值(如50GB),強制讓所有compact都變為small compaction,減少compact的壓力;

(2) 將smallcompaction和large compaction線程數均設置為1,減少compact的壓力(可不配置,系統默認也會將其初始化為1)。

操作步驟:

準備hbase-site.xml文件,添加或修改如下選項:

<property>

   <name>hbase.regionserver.thread.compaction.throttle</name>

   <value>53687091200</value>

</property>

<property>

   <name>hbase.regionserver.thread.compaction.small</name>

   <value>1</value>

</property>

<property>

   <name>hbase.regionserver.thread.compaction.large</name>

   <value>1</value>

</property>

重啟集群使配置生效。

2)方案二

將small compaction線程數均設置為0,從而關閉small compaction,只剩下large compaction,也可減少compact的壓力。

操作步驟:

準備hbase-site.xml文件,添加或修改如下選項:

<property>

   <name>hbase.regionserver.thread.compaction.small</name>

   <value>0</value>

</property>

重啟集群使配置生效。

上述就是小編為大家分享的HBase如何解決Region Server Compact過程占用大量網絡出口帶寬的問題了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女