在master上執行hadoop namenode -format 后,
當執行start-dfs.sh時,jps一下,發現datanode沒有啟動。
原因:
查看master.log日志
【root@master logs]# cat hadoop-root-datanode-master.log

發現異常是namenode的clusterID 與datanode的clusterID不一致,是因為自己格式化兩次namenode,每次格式化時,namenode會更新clusterID,但是datanode只會在首次格式化時確定,因此就造成不一致現象。
所以要把namenode 和datanode的 clusterID修改一致就好了。
使用find / -name VERSION找到VERSIONl所在路徑。

vim /tmp/hadoop-root/dfs/name/current/VERSION 查看namenode的clusterID

vim /tmp/hadoop-root/dfs/data/current/VERSION 查看datanode的cluterID

可以發現兩者的cluterID的不一致,在master中把namenode的cluterID改的和datanodeID一致就可以了.
注意:在slave機器中也有CluseterID,不要把master中把dataenode的cluterID改的和namenodeID一致,這樣子master和slave中的clusterID會不一致。要把
master中的

start-dfs.sh 發現namenode和datanode啟動成功。
