问题的起因还是在于hadoop安全模式的问题,我的安全模式之前出了问题,丢失了数据,
导致我每次启动hadoop集群,都需要自己手动关闭hadoop的安全模式,
于是在网上搜索,找到说可以先关闭集群,然后格式化namenode,
按照这样的方式做了以后,就出现了的问题。
解决方法其实也很简单
因为格式化的问题,导致了主节点和从节点的clusterId不一致,所以才导致datanode没有启动成功
进入到你的集群的current目录下去找VERSION这个文件
#namenode的文件路径
/usr/local/soft/hadoop-2.7.6/tmp/dfs/name/current
#datanode的文件路径
/usr/local/soft/hadoop-2.7.6/tmp/dfs/data/current
[root@node1 current]# ll
总用量 4
drwx------. 4 root root 54 4月 29 09:49 BP-313352401-192.168.237.110-1618028972295
drwx------. 4 root root 54 4月 29 13:16 BP-624032164-192.168.237.110-1619672787499
-rw-r--r--. 1 root root 229 4月 29 13:16 VERSION
vi VERSION
修改你的datanode的clusterId和name相同目录下的clusterId 保持一致,即可解决这个问题
修改的clusterId如下图所示,你的namenode下也会有一个这个,打开,并和你的从节点对比,修改为和namenode的clusterId一致即可解决问题