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

posted @ 2017-06-13 09:14  yfceshi  阅读(941)  评论(0编辑  收藏  举报