HA集群出现脑裂情况解决方法

最近工作中测试经常反映HA集群环境中出现脑裂情况,在这里总结一下解决方法。

脑裂出现原因:
查看集群环境压力(CPU历史负载):

sar -f /var/log/sa/sa17

可以看到环境压力较大
可以看到环境压力较大,导致集群出现脑裂情况。

恢复措施:

1.先暂停集群的daemon,hbase,Hadoop服务.

  • dbserver.sh stop_server_all daemon,hadoop,hbase

2.进入zk客户端

  • zkCli.sh
    删除如下两个文件
  • rmr /hadoop-ha/mycluster/ActiveStandbyElectorLock
  • rmr /hadoop-ha/mycluster/ActiveBreadCrumb

3.进入如下路径

/bigdata/salut/components/hadoop/sbin

4.执行start-all.sh重启服务

 - ./start-all.sh

5.查看Namenode状态应该已经恢复正常

hdfs haadmin -getServiceState nn1/nn2

在这里插入图片描述

注:

文中关于暂停服务和重启服务的脚本适你们个人情况而异。核心是将相关服务停止后删除zookeeper中的那两个文件。这两个文件用于决定集群中active节点在哪个node上,出现脑裂的原因就在于这两个文件中的配置出现问题,导致集群服务异常后不能正常将节点状态置为active。

发布了67 篇原创文章 · 获赞 113 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/TNTZS666/article/details/102689615