hadoop HA (no zkfc to stop) DFSZKFailoverController进程没有启动

  1. 这个bug确实恶心的不要不要的。我一开始以为是我自己打开方式(毕竟不熟悉搭建流程,别人怎么做,我照着做)
    1. 我照着视频或者博客编写hdfs-site.xml(dfs.ha.fencing.methods)
    1. 但是一直再start-dfs.sh 后(DFSZKFailoverController进程没有启动)
    2. 在stop-dfs.sh后提示(no zkfc to stop)
  • 我一开始当然顺势去看日志(程序员不看日志处理,还能干什么?)
    1. 因为在start-dfs.sh看到
看到zkfc的日志在$HADOOP_HOME/log下的hadoop-root-zkfc-package.out,那log就估计也在这里了。
    1. 一开始没有调试经验,一进去看使用vim $HADOOP_HOME/log/hadoop-root-zkfc-package.log
      1. 看到的是
        1. 以为没有什么日志可看,就草草把vim关闭。
    • 看到没有头绪,只好去百度,谷歌。发现有不少都是问这个问题。但是没有一个是真正解决的文章(正因为这样,我才写而已)
      1. 寻找了一个下午+一个晚上,没有解决!
    • 又回到起点,去看日志吧。不过我当时不是使用vim,而是使用了cat(不建议用在文本太大的话,你会后悔的。不过也是因为我这个愚蠢的动作给我解决bug的思路),
如果你一直启动不了,最后肯定是能看到这个异常的。
    1. 然后回去查看那个hadoop四个重要配置文件core-site.xml,hdfs-site.xml,yarn-site.xml,map-site.xml(slaves也算,只是压根没有配这个属性而已)
      1. 由于我是在start-dfs.sh才能调起DFSZKFailoverController
        1. 所以不关yarn-site.xml,map-site.xml的事
      2. 只好去看core-site.xml,hdfs-site.xml
        1. 分别查看,只有hdfs-site.xml存在这样的"sshfence",但是有排版格式(换行了)
      3. 我果断把排版格式去掉,变成
同步给其他集群,再启动start-dfs.sh
    1. 就出现了DFSZKFailoverController进程
 
 
  1. 总结:
    1. 他喵自己,为了懒去复制别人github的配置代码(https://github.com/xiongbeer/MyHadoopConf/tree/master/clustConf)。而导致自己浪费一天时间。这个不是重点。
    2. 重点在分析上,没有具体看日志具体多少行,就草率把日志关闭了。这是不可取的

原文:http://note.youdao.com/noteshare?id=05807db5f3367ad35da34c110a0bfa16&sub=3745E626E40844BEA1AE3A3ECD6AD058

原文地址:https://www.cnblogs.com/shortboy/p/6970656.html