Active NameNode出现异常处理方案
注意:仅供参考
一般来说Active NameNode出现异常可以分为两种:
- Active NameNode出现异常宕机,导致无法正常切换
- Active NameNode因为切换导致被killed
情景一:Active NameNode出现异常宕机
状态描述:
ANN断电、网络异常、负载过高或者机器出现异常无法连接,SNN无法转化为Active,使得HA集群无法对外服务。
解决方案:
确认原ANN已经关机或确保原ANN进程已经挂了,才能使用该命令
操作步骤:
- 1.对Active NN关机
- 2.确保关机完成,在SNN上执行 hdfs zkfc -formatZK ,如果提示输入Y或者N,则输入Y
- 3.直到原SNN页面确保变为Active
- 4.启动原ANN的机器
- 5.启动原ANN上的NameNode和zkfc进程
情景二:Active NameNode因为切换导致被killed
状态描述:
ANN因为网络或异常任务导致无响应,切换过程中导致其中一台NN被fence
解决方案
根据经验,当SNN在启动的时候和块汇报在一起会引起DN丢节点异常,所以为了避免以上问题,采取下列操作
操作步骤:
- 先停止该节点的zkfc
- 把挂掉的NN用防火墙关闭8021(DN汇报端口),禁止DN进行汇报,启动NN,让NN只做合并操作(集群小可以忽略)
- 等待SNN合并完,并到等待块汇报时,打开8021端口,让DN进行块汇报