最近使用hadoop,因為之前配置過hadoop(單機模式),所以直接使用start-all.sh啟動hadoop,用jps命令檢視啟動程序時,發現只有tasktracker,datanode和secondarynamenode三個程序啟動了,而另外兩個程序namenode和jobtracker並沒有啟動。
上網查了一下,在文章中有提到因為hadoop資料檔案(即配置檔案中adoop.tmp.dir屬性定義的檔案)問題,使用預設檔案,會在每次開機時清空該檔案,所以要在每次啟動hadoop前格式化hdfs。雖然我也有這個問題,但按照他說的做並沒有解決我的問題。
網上很多人說namenode的問題基本上都和配置檔案有關,所以我就檢視了一下我的配置檔案,發現由fs.default.name屬性指定的hdfs路徑不對,我的筆記本動態獲取ip,這次啟動分配的ip位址和以前配置時的不一樣,導致啟動指令碼找不到hdfs路徑,把路徑修改好後,格式化hdfs(hadoop namenode -format),啟動hadoop,成功!
(補充,後來發現啟動hadoop時jobtracker程序也啟動不了,也是類似的問題,在mapred-site.xml配置檔案中配置mapred.job.tracker也涉及到hdfs路徑的指定,修改為正確的ip即可)
hadoop集群啟動後沒有啟動namenode
今天重新啟動hadoop,發現namenode節點沒有啟動。昨天好不容易將沒有出現的datanode啟動來。最後學習後是因為namenode預設在 tmp下建立臨時檔案,但關機後,tmp下文件自動刪除。再次啟動master造成檔案不匹配,所以namenode啟動失敗。在core site.xml中指...
Hadoop無法啟動DataNode
問題詳述 當我多次通過以下指令格式化namenode之後,格式化namenode bin hdfs namenode format導致我在jps查詢時發現datanode無法啟動 問題原因 多次進行namenode格式化,導致 namenode 和 datanode 的集群 id 不匹配 datan...
Hadoop啟動後無法啟動NodeManager
在配置完hadoop集群後,使用命令 start all.sh 進行啟動集群。然後使用命令 jps 檢視程序啟動情況,發現沒有nodemanager 只需要使用命令 cd usr local hadoop hadoop 2.7.4 etc hadoop 進入該目錄後,使用命令 vim yarn si...