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

Ash*_*rma 24 java hadoop hive mapreduce hdfs

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

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

当我们的DataNode实例空间不足或DataNode未运行时,主要出现此错误.我尝试重新启动DataNodes但仍然遇到相同的错误.

我的集群节点上的dfsadmin -reports清楚地显示了大量可用空间.

我不确定为什么会这样.

Dev*_*M S 14

1.停止所有Hadoop守护进程

for x in `cd /etc/init.d ; ls hadoop*` ; do sudo service $x stop ; done
Run Code Online (Sandbox Code Playgroud)

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

Eg: devan@Devan-PC:~$ sudo rm -r /var/lib/hadoop-hdfs/cache/
Run Code Online (Sandbox Code Playgroud)

3.Format Namenode

sudo -u hdfs hdfs namenode -format
Run Code Online (Sandbox Code Playgroud)

4.启动所有Hadoop守护进程

for x in `cd /etc/init.d ; ls hadoop*` ; do sudo service $x start ; done
Run Code Online (Sandbox Code Playgroud)

停止所有Hadoop服务

  • 我遇到了同样的问题,请你解释我为什么要这样解决问题,以及数据是否会丢失? (7认同)
  • 这不是没有解决办法。-1 (3认同)

小智 11

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