Hbase RegionServer简单调优(GC)

Full GC会导致hbase假死,hbase读写数据延迟,严重导致hbase与zookeeper失联,导致hbase regionserver挂掉

解决:

(1) 合理分配RegionServer的jvm内存,如果集群资源允许,可适当调大,这是最直接的


Hbase RegionServer简单调优(GC)_第1张图片

(2)适当调整RegionServer处理请求的并发线程数,根据实际情况通过降低线程并发,来降低GC的压力

 

 


(3)打散region分布,减少单台服务器regionserver的压力,避免region分布不均导致的数据倾斜带来的数据scan时的压力
creat 'test_v_fa_storage','info',SPLITS=>   ['01272706','11272706','16272706','21272706','26272706','31272706',
'41272706','45272706','51272706','53272706','57272706','61272706','62272706','64272706','66272706','68272706','71792816']
即根据表的ID做hbase region存储时默认切分基础上的二次切分,这样可以将region平均打散到三台机器


(4)适当提高region块的存储大小:目的是减少一张表的region数量,这样RegionServer在处理读写请求时会启更少的线程数,降低CPU的同时,也会减轻GC的压力



(5)对Hbase的数据做压缩,压缩后的数据会减少占用,减少Region存储的数量,同时也降低regionserver的管理压力,减轻GC压力


(6)hbase.hregion.memstore.mslab.enabled默认值:true,这个是在hbase-site.xml中进行配置的值。
说明:减少因内存碎片导致的Full GC,提高整体性能。
备注:避免频繁的内存碎片化导致的新生代GC到老年代GC,到最终导致的oom

 

你可能感兴趣的:(cdh,Hbase)