出现的问题: 可以发现,当执行stop-all.sh命令关闭hadoop服务的时候,系统会报找不到datanode去关闭的错误。。因而当我们去浏览器访问“http://主机IP地址: 50070”的时候,Dead Nodes这一栏会显示所有的节点都是死节点… 问题分析: 1:之前多次将namenode格式化,导致namenode和datanode的clusterID(集群ID)不一致无法启动datanode;因而jps命令发现没有datanode启动,所以去Hadoop的日志文件下查看日志,从日志文件中我们捕捉到Incompatible这个单词,即“不相容的”,所以我们可以看出是datanode的clusterID出错了,最后导致shutDown。 2.多次格式化NameNode会重新生成新的ClusterId(集群ID),而原来的DataNode内data文件下的VERSION文件内的ClusterId还是原来的ClusterId,所以就会出现与NameNode的ClusterId不匹配。 3:可能把datanode的data目录下的VESSION删除,导致在java连接是输入流时只能启动一个datanode。
(注意:此处是大坑),在此,提出两种解决方案:
方案一: 首先在虚拟机下对应的haoop目录下查看etc/hadoop/hdfs-site.xml文件下我们设置的自定义的datanode的路径,
然后根据设置的路径,通过xftp软件进入进入datanode的dfs.datanode.data.dir的current目录