写入 HDFS 只能复制到 0 个节点而不是 minReplication (=1)

新手上路,请多包涵

我有 3 个数据节点正在运行,在运行作业时出现以下错误,

java.io.IOException:文件 /user/ashsshar/olhcache/loaderMap9b663bd9 只能复制到 0 个节点,而不是 minReplication (=1)。有 3 个数据节点正在运行,3 个节点被排除在该操作中。在 org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1325)

这个错误主要发生在我们的 DataNode 实例空间不足或 DataNode 没有运行时。我尝试重新启动 DataNodes 但仍然出现相同的错误。

我的集群节点上的 dfsadmin - 报告清楚地显示有大量可用空间。

我不确定为什么会这样。

原文由 Ashish Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 505
2 个回答

1.停止所有Hadoop守护进程

for x in `cd /etc/init.d ; ls hadoop*` ; do sudo service $x stop ; done

2.删除所有文件 /var/lib/hadoop-hdfs/cache/hdfs/dfs/name

 Eg: devan@Devan-PC:~$ sudo rm -r /var/lib/hadoop-hdfs/cache/

3.格式化Namenode

 sudo -u hdfs hdfs namenode -format

4.启动所有Hadoop守护进程

for x in `cd /etc/init.d ; ls hadoop*` ; do sudo service $x start ; done

停止所有 Hadoop 服务

原文由 Devan M S 发布,翻译遵循 CC BY-SA 3.0 许可协议

我有同样的问题,我的磁盘空间非常低。释放磁盘解决了它。

原文由 divyaravi 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题