怎樣提高hbase的入庫效能

2021-09-08 19:53:31 字數 529 閱讀 2645

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的預設最大值 ...