[HDFS] Active NameNode 出现异常处理方案

2016-09-03

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进行块汇报