NameNode频繁切换active/standby的原因和解决

【导读】
若HA-Hadoop集群的active NameNode频繁出现自动切换,则可能的原因有二:
(1)ZKFC的健康检查超时时长设置不合理,导致ZKFC认为NN挂掉(实际上此时的NameNode是正常active的,即“NameNode假死现象”),从而引起自动切换active NN;
(2)Zookeeper上的Session Timeout导致zookeeper的服务端丢弃了当前持有的active锁(是一个临时znode),导致自动切换。

【故障现象】
某天下午,钉钉群发出一条NameNode下线的告警,于是前往Ambari页面检查HDFS组件(我们用的HDP的Hadoop-3.1.1版本),发现NameNode正在切换主备,也就是Standby的NameNode正在切换为Active。切换完成后恢复正常,过了几分钟钉钉群又发出一条告警,内容也是NameNode下线,再去检查HDFS组件发现NameNoe(NN)又在做主备切换。之后半小时内又发生了几起NN主备切换事件。
在NN切换主备期间,干扰到了数仓同学的作业,他们的反馈是Hive 客户端无法连接master1主机上的50070端口。50070端口是hdfs对外提供的http端口,客户端无法连接50070就意味着hdfs的外部用户无法操作HDFS上的数据了。数仓同学发来的报错信息截图如下:
在这里插入图片描述
在这么短的时间内发生多次NN主备切换,过于频繁,因此首先做一个根本原因分析(RCA,即Root Cause Analysis),再着手解决和预防。

【RCA】
既然NameNode服务是由ZKFC、Zookeeper、JournalNode共同实现了高可用,那么就要查看一下zkfc日志、znode信息、NameNode日志、JournalNode日志。
检查zookeeper相关的日志,未发现有关seesion超时的异常。
检查zookeeper上的相关znode信息可以看出,nn2表示的master2是active,如截图所示:
在这里插入图片描述
再来检查ZKFC的日志,摘要如下&

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值