Hbase RegionServer简单调优(GC)
2017-10-17 18:19
295 查看
Full GC会导致hbase假死,hbase读写数据延迟,严重导致hbase与zookeeper失联,导致hbase regionserver挂掉
解决:
(1) 合理分配RegionServer的jvm内存,如果集群资源允许,可适当调大,这是最直接的
(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的管理压力,减轻
4000
GC压力
(6)hbase.hregion.memstore.mslab.enabled默认值:true,这个是在hbase-site.xml中进行配置的值。
说明:减少因内存碎片导致的Full GC,提高整体性能。
备注:避免频繁的内存碎片化导致的新生代GC到老年代GC,到最终导致的oom
解决:
(1) 合理分配RegionServer的jvm内存,如果集群资源允许,可适当调大,这是最直接的
(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的管理压力,减轻
4000
GC压力
(6)hbase.hregion.memstore.mslab.enabled默认值:true,这个是在hbase-site.xml中进行配置的值。
说明:减少因内存碎片导致的Full GC,提高整体性能。
备注:避免频繁的内存碎片化导致的新生代GC到老年代GC,到最终导致的oom
相关文章推荐
- [HBase配置参数解析]hbase.regionserver.handler.count
- hbase regionserver死掉
- Hbase深入学习(八) ―― region server and hmaster server
- hbase regionserver节点连不上集群
- 单独启动Hadoop datanode和hbase regionserver
- hbase无法启动Regionserver:Failed construction of Regionserver: class org.apache.hadoop.hbase.regions问题解决
- HBase中的Client如何路由到正确的RegionServer
- HBase RegionServer宕机恢复
- 11-hbase-daemon.sh start regionserver启动命令分析
- HBASE REGIONSERVER启动过程
- WARN org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler: Region was hijacked
- hbase hregion server 异常退出排查
- hadoop datanode 重新启动和hbase regionserver重新启动
- HBase源码之HRegionServer
- HBase-CMS GC调优
- Why Should HBase RegionServer & Hadoop DataNode Colocate?
- HBase1.2.3版本memstore flush触发机制以及HRegionServer级别触发源码分析
- HBase的子节点的RegionServer无法启动
- 简单通过java的socket&serversocket以及多线程技术实现多客户端的数据的传输,并将数据写入hbase中
- 解决HBase在数据大量写入时导致RegionServer崩溃问题