天天看點

怎樣提高hbase的入庫性能

        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部分;

繼續閱讀