Java Hadoop单节点群集HDFS恢复
我让Hadoop 1.2.1在我的机器上以单节点集群模式运行。 它正在运行一个包含0个reduce任务的任务 每个map任务的输出显然都作为第000部分写入HDFS** 但是hadoop系统运行的系统崩溃了。现在我想Java Hadoop单节点群集HDFS恢复,java,hadoop,hdfs,Java,Hadoop,Hdfs,我让Hadoop 1.2.1在我的机器上以单节点集群模式运行。 它正在运行一个包含0个reduce任务的任务 每个map任务的输出显然都作为第000部分写入HDFS** 但是hadoop系统运行的系统崩溃了。现在我想copyToLocal成功完成的映射任务的输出 当我执行hadoop dfs-ls/output\u dir时,我可以看到列出的所有“部分”,但是hadoop dfs-copyFromLocal/output\u dir LOCAL\u PATH失败,出现以下错误: copyToLo
copyToLocal
成功完成的映射任务的输出
当我执行hadoop dfs-ls/output\u dir
时,我可以看到列出的所有“部分”,但是hadoop dfs-copyFromLocal/output\u dir LOCAL\u PATH
失败,出现以下错误:
copyToLocal:org.apache.hadoop.hdfs.server.namenode.SafeModeException:
为…设置零块位置。名称节点处于安全模式
我无法启动数据节点,我发现的大多数解决方案都涉及使用hadoop namenode-format
格式化namenode。我不想丢失数据
可以从dfs.tmp.dir恢复输出吗?为什么不能启动datanode?
错误datanode.datanode:dfs.data.dir中的所有目录都无效。
Hmm是的,这不好。您可以在dfs.data.dir中找到地图输出的块。不过你得自己把它们重新组合起来。嗯,是的,我也是这么想的。正在寻找恢复HDFS的可能性。谢谢@grampage!