怎样提高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部分;

4、将HBaseClient加入到RegoinServer的连接池。


參考:

http://blog.csdn.net/kalaamong/article/details/7275242

原文地址:https://www.cnblogs.com/gccbuaa/p/6808505.html