- 這個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關閉。
- 看到沒有頭緒,只好去百度,谷歌。發現有不少都是問這個問題。但是沒有一個是真正解決的文章(正因為這樣,我才寫而已)
- 尋找了一個下午+一個晚上,沒有解決!
- 又回到起點,去看日志吧。不過我當時不是使用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=3745E626E40844BEA1AE3A3ECD6AD058
