1.错误原因:namenode 和datanode失联,失恋的原因是:也许是你多次格式化hdfs导致namdenode 的 namespaceID 与 datanode的namespaceID 不一致
使用jps查看进程,你会发现datanode就没有启动。
解决办法:
1.按照你hdfs-site.xml ,找到dfs.name.dir和dfs.data.dir的路径。删除路径下的所有数据。重新格式化一个文件系统。然后重启hadoop就解决了。但是次解决方式貌似非常暴力,因为你会失去所有的datanode数据。请慎重。不过在测试环境下。这个方法还是很直接的。
2.打开hdfs-site.xml ,找到dfs.name.dir和dfs.data.dir的路径。
将因format更新的 dfs.name.dir/current/VERSION中的namespaceID 更新到 dfs.data.dir/current/VERSION中的namespaceID中去(改的是dfs.data.dir中的ID)。
如上即可解决这个问提。