如何提高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

你可能感兴趣的:(如何提高hbase的入库性能)