原因:
由于过多在namenode机器上执行hdfs namenode -format命令,导致DataNode机器上data文件夹下的数据与namenode机器上name文件夹下的数据没有匹配上,这样就无法启动DataNode上的DataNode进程了。
解决:
删除data文件夹下的所有数据,data文件夹的位置可以在hdfs-site.xml配置文件中找到,下面是我的data位置。执行删除命令:
rm ~/apps/hadoop-2.8.5/hdfs/data/*
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/apps/hadoop-2.8.5/hdfs/data</value>
</property>
再格式化namenode:hdfs namenode -format
然后启动hadoop:start-all.sh
在DataNode机器上查看进程:
[hadoop@min2 apps]$ jps
4297 NodeManager
4172 DataNode
4380 Jps
DataNode进程成功启动了。