今天早上,跟着视频学习,有一步做错,就用hadoop命令格式化了下namenode,结果,再使用命令启动hadoop的时候,DataNode就不能启动了!
原因分析
在网上,我找了下原因,原来,当我使用hadoop的命令格式化的时候,namenode的clusterID会重新生成,而datanode的clusterID会保持不变
解决方法
首先找到namenode和datanode的位置
# core-site.xml
<!--我是将namenode-->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000/</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop/data</value>
</property>
</configuration>
然后查看namenode和datanode的版本
#打开VERSON文件
sudo vi hadoop/data/dfs/name/current/VERSON
sudo vi hadoop/data/dfs/data/current/VERSON
然后将namenode的clusterID赋值给datanode的clusterID
验证
最后就验证是否成功!
启动start-dfs.sh
使用命令jps,可以看到Datanodes就表示成功了