今天笔者在集群启动的时候发现datanode没有启动,立马查看了datanode日志,发现了如下问题:
这个问题说的是,集群的namenode clusterID与datanode clusterID不兼容,不匹配。造成这种情况的原因是namenode格式化了多次,datanode cluesterID只有首次才会生成,namenode clusterID每格式化一次就会生成一次,所以会造成namenode clusterID与datanode clusterID不匹配,这里需要在hadoop集群配置文件,找到hdfs-site.xml,打开,找到如下路径:
找到之后在slave虚拟机上输入该路径进入,之后输入 cd current/ 进入,在它的目录下有一个VERSION文件,查看如下图:
name路径下如下图,也在hdfs-site.xml这个配置文件中
每个slave虚拟机都替换掉之后,然后重新启动start-dfs.sh,这样就可以启动datanode了。