标签:
最近在看hbase,我们来看看官方给出一些建议:(其实官方很多都是只给建议,却并没有说为什么,对于这样的情况只能自己去做实验或者是工作中碰到去解决吧)
1、regionServer上region的个数:官方给出的建议是20-200个region,但是下面又说
如何粗略计算regionServer上region:有个公式,
((RS Xmx) * hbase.regionserver.global.memstore.size) / (hbase.hregion.memstore.flush.size * (# column families))+
((RS Xmx) * hbase.regionserver.global.memstore.upperLimit) / (hbase.hregion.memstore.flush.size * (# column families))+
参数调整会影响读写,如果写的压力大导致经常超过这个阀值,则调小读缓存hfile.block.cache.size增大该阀值,或者Heap余量较多时,不修改读缓存大小。
如果在高压情况下,也没超过这个阀值,那么建议你适当调小这个阀值再做压测,确保触发次数不要太多,然后还有较多Heap余量的时候,调大hfile.block.cache.size提高读性能
参数调整会影响读写,(以下是经验之谈吧)如果写的压力大导致经常超过这个阀值,则调小读缓存hfile.block.cache.size,增大该阀值,或者Heap余量较多时,不修改读缓存大小。
如果在高压情况下,也没超过这个阀值,那么建议你适当调小这个阀值再做压测,确保触发次数不要太多,然后还有较多Heap余量的时候,调大hfile.block.cache.size提高读性能
hfile.block.cache.size表示storefile的读缓存占用Heap的大小百分比,0.2表示20%。该值直接影响数据读的性能。hbase.regionserver.global.memstore.upperLimit和这个参数一个影响写,一个影响读,如果两值加起来超过80-90%,会有OOM的风险。
2、Maximum region size
官方推荐maximum region size is 10-20Gb,5-10Gb is optimal.
0.98版本后加入了一些优化机制,可以使得region size 更大。
标签:
原文地址:http://my.oschina.net/u/1378204/blog/492529