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