最近,我在學習搭建hadoop集群,可是搭建完成后當使用start-all.sh啟動hadoop的時候,會發現用jps測試的時候一切均顯示正常,但通過Hadoop指令向hdfs上傳輸文件的時候,會報錯表示datanode沒有正常啟動,
在網上找了一些博客講述是可能防火牆沒關,還有就是刪除hadoop目錄下的tmp文件夾和logs文件夾,可是都不湊效,我經過反復查詢發現是因為datanode的clusterID不匹配!
打開hdfs-site.xml里配置的datanode和namenode對應的目錄,分別打開dfs目錄下data和name文件下的current文件夾里的VERSION,可以看到clusterID正如日志里記錄的一樣,確實不一致。
修改datanode里VERSION文件的clusterID與namenode里的一致,再重新啟動dfs(執行start-all.sh)再執行jps命令可以看到datanode已正常啟動。