性能调优(2)

第二章:集群参数的配置
1. zookeeper.session.timeout(默认3分钟)
ZK的超期参数,默认配置为3分钟,在生产环境上建议减小这个值在1分钟或更小。
设置原则:这个值越小,当RS故障时Hmaster获知越快,Hlog分裂和region 部署越快,集群恢复时间越短。
          但是,设置这个值得原则是留足够的时间进行GC回收,否则会导致频繁的RS当机。
2、hbase.regionserver.handler.count(默认10)
设置原则:
对于大负载的put(达到了M范围)或是大范围的Scan操作,handler数目不易过大,易造成OOM。
对于小负载的put或是get,delete等操作,handler数要适当调大。
根据上面的原则,要看我们的业务的情况来设置。

3、HBASE_HEAPSIZE 大小设置
设置原则:
a. HBASE_HEAPSIZE 包括三部分内容:Memstoresize 40%(默认) blockcache 20% 以及StoreIndex(这需要根据硬盘容量算出)。
b. GC回收的时间不要超过zk session的时间。

4.选择使用压缩算法,目前HBase默认支持的压缩算法包括GZ,LZO以及snappy(0.92版本已经支持,BSD license)
Algorithm     % remaining Encoding  Decoding
GZIP           13.4%      21 MB/s   118 MB/s
LZO            20.5%      135 MB/s  410 MB/s
Zippy/Snappy   22.2%      172 MB/s  409 MB/s
根据你产品的情况选取这里压缩算法或是使用其他压缩算法。

5.hbase.hregion.max.filesize 默认256M
关于Region Size的设置,参考另外一篇博客。
设置原则:
a、Region server 上活跃的region不能太多100个左右,且也不要太少会导致并发度不大。
b、在region设置比较大时,例如每个region达到100G时,需要手动进行对热点region进行split或是对于不经常活跃的进行merge

6.hbase.hregion.memstore.block.multiplier 默认2
设置原则:
如果内存足够的,可以适当设置大这个值,当memstoresize 大于 flush size limit*multiplier时会阻塞客户的put操作。如果出现这种情况多数原因是由于compaction队列不能够及时处理
导致的。

7.hbase.hstore.blockingStoreFiles 默认7
设置原则:
这个值设置比较大,会增加客户端的负载处理能力,但是如果你的服务器一直处于一个高的水平,那说明你的机器已经达到性能瓶颈,需要其他方式解决

你可能感兴趣的:(性能调优)