zookeeper集群死亡

    前段时间某天下班后在路上收到cdh集群监控告警邮件,显示zookeeper集群不可用进程全部挂掉,zkfc进程全部挂掉,resources manager 全部进入备用状态,当时还在地铁上无法远程处理,还是比较慌的。整个集群对外是不能提供服务的,幸运的是当时是下班时间没有用户使用,定时任务也比较少,没那么重要。

    快速回家后打开vpn登录集群,排查日志没有error日志,进程直接挂了,在服务器/tmp下发现了大量.hprof的内存溢出文件(这种进程直接没有errror日志退出的基本都是内存溢出造成,前端时间在某征信行就遇到过)。为了快速恢复服务没有细查直接加大内存重启,发现zookeeper内存直线拉升,进程很快挂掉,选举都没完成,加大到24g都没有用。zookeeper下的数据太多,决定删除zookeeper数据目录,我们zookeeper主要是供cdh集群使用,存储hdfs,yarn ha信息等,清理掉并不会有什么影响。执行删除前先备份zookeeper数据目录,数据目录在cm zookeeper配置中可以查到,备份完删除数据目录,重启zookeeper集群。zookeeper很快就恢复正常了,接下来重启resource manager,修复hdfs 进程即可。整个集群恢复正常。

    集群恢复后就是排查zookeeper集群死亡的原因。zookeeper为什么会有这么多数据?存储了什么需要这么大内存?带着疑问,我们通过zookeeper自带命令工具解析事务日志和快照。zookeeper每次重启都会生成一个快照。

事务日志解析命令:

java -cp /tmp/zookeeper/zookeeper-3.4.5-cdh5.14.2.jar:/tmp/zookeeper/log4j

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值