如何提高hbase的入庫效能

2021-06-21 14:43:49 字數 524 閱讀 3048

hbase寫資料首先先寫入memstore,當memstore滿64mb以後,會flush到disk上而成為storefile。當storefile數量超過3時,會啟動compaction過程將它們合併為乙個storefile。這個過程中會刪除一些timestamp過期的資料,比如update的資料。而當合併後的storefile大小大於hfile預設最大值時,會觸發split動作,將它切分成兩個region。

1、修改hbase的buffersize,並禁用hbase的自動提交功能;

table.setwritebuffersize(1024*1024*10);

table.setautoflush(false);

2、禁用hbase的預寫日誌功能(wal);

p.setwritetowal(false);  //p為已近add資料後的put物件

3、為flush新增執行緒池,為compact新增執行緒池,同時注釋掉split部分;

4、將hbaseclient新增到regoinserver的連線池。

參考:

怎樣提高hbase的入庫效能

hbase寫資料首先先寫入memstore。當memstore滿64mb以後,會flush到disk上而成為storefile。當storefile數量超過3時,會啟動compaction過程將它們合併為乙個storefile。這個過程中會刪除一些timestamp過期的資料。比方update的資料...

怎樣提高hbase的入庫效能

hbase寫資料首先先寫入memstore。當memstore滿64mb以後,會flush到disk上而成為storefile。當storefile數量超過3時,會啟動compaction過程將它們合併為乙個storefile。這個過程中會刪除一些timestamp過期的資料。比方update的資料...

提高HBase寫效能

以下為使用hbase一段時間的三個思考,由於在記憶體充足的情況下hbase能提供比較滿意的讀效能,因此寫效能是思考的重點。希望讀者提出不同意見討論 1 autoflush false的影響 2 hbase.hregion.max.filesize應該設定多少合適 hbase中hfile的預設最大值 ...