【甘道夫】HBase随机宕机事件处理 & JVM GC回顾

一、引言
本文记录了困扰团队两周的HBase随机宕机事件的解决方案,并回顾了JVM GC调优基础知识,供各位参考。

欢迎转载,请注明出处:
http://blog.csdn.net/u010967382/article/details/42394031



二、实验环境
16台虚拟机,每台4G内存,1核CPU,400G硬盘
Ubuntu 14.04 LTS (GNU/Linux 3.13.0-29-generic x86_64)
CDH5.2.0套装(包括相应版本的Hadoop,HIVE,Hbase,Mahout,Sqoop,Zookeeper等)
Java  1.7.0_60   64-Bit Server



三、异常现场
在以上实验环境中执行计算任务,计算任务涉及HIVE、Mahout、Hbase bulkload、MapReduce,工作流驱动通过Shell脚本控制,整个任务执行过程涉及基础行为数据160万条,业务数据40万条。

多次执行任务过程中反复随机出现以下各类异常,仅用文字描述,就不拷贝异常现场了,大家各自对号入座:
1.Hbase的Regionserver进程随机挂掉(该异常几乎每次都发生,只是挂掉的Regionser节点不同)
2.HMaster进程随机挂掉
3.主备Namenode节点随机挂掉
4.Zookeeper节点随机挂掉
5.Zookeeper连接超时
6.JVM GC睡眠时间过长
7.datanode写入超时
等等

通过调研分析和调试,发现问题解决需从以下几个方面着手:
1.Hbase的ZK连接超时相关参数调优:默认的ZK超时设置太短,一旦发生FULL GC,极其容易导致ZK连接超时;
2.Hbase的JVM GC相关参数调优:可以通过GC调优获得更好的GC性能,减少单次GC的时间和FULL GC频率;
3.ZK Server调优:这里指的是ZK的服务端调优,ZK客户端(比如Hbase的客户端)的ZK超时参数必须在服务端超时参数的范围内,否则ZK客户端设置的超时参数起不到效果;
4.HDFS读写数据相关参数需调优;
5.YARN针对各个节点分配资源参数调整:YARN需根据真实节点配置分配资源,之前的YARN配置为每个节点分配的资源都远大于真实虚拟机的硬件资源;
6.集群规划需优化:之前的集群规划中,为了充分利用虚拟机资源,NameNode、NodeManager、DataNode,RegionServer会混用同一个节点,这样会导致这些关键的枢纽节点通信和内存压力过大,从而在计算压力较大时容易发生异常。正确的做法是将枢纽节点(NameNode,ResourceManager,HMaster)和数据+计算节点分开。



四、为了解决该问题而实施的各类配置及集群调整


HBase


hbase-site.xml
<property>
        <name>zookeeper.session.timeout</name>
        <value>300000</value>
</property>

<property>
        <name>hbase.zookeeper.property.tickTime</name>
        <value>60000</value>
</property>

<property>
        <name>hbase.hregion.memstroe.mslab.enable</name>
        <value>true</value>
</property>

<property>
        <name>hbase.zookeeper.property.maxClientCnxns</name>
        <value>10000</value>
</property>

<property>
<name>hbase.client.scanner.timeout.period</name> </
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值