写入HDFS只能复制到0个节点,而不是最小重复(=1)

2022-09-01 15:55:10

我有3个数据节点正在运行,在运行作业时,我得到了下面给出的错误,

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

此错误主要发生在我们的 DataNode 实例空间不足或 DataNode 未运行时。我尝试重新启动DataNodes,但仍然收到相同的错误。

我的群集节点上的 dfsadmin -reports 清楚地表明有大量可用空间。

我不确定为什么会发生这种情况。


答案 1

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.格式名称节点

sudo -u hdfs hdfs namenode -format

4.启动所有 Hadoop 守护进程

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

停止所有 Hadoop 服务


答案 2

我遇到了同样的问题,我的磁盘空间非常少。释放磁盘解决了这个问题。


推荐