我有3个数据节点上运行,运行的作业我收到以下错误下面给出同时,
java.io.IOException的:文件/用户/ ashsshar / olhcache / loaderMap9b663bd9只能被复制到0的节点,而不是minReplication(= 1)。 有3个数据节点(一个或多个)运行和3节点(一个或多个)被排除在此操作。 在org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1325)
这个错误主要是来当我们的数据节点实例都跑出空位,或者如果的DataNodes没有运行。 我试图重新启动的DataNodes,但仍然得到同样的错误。
dfsadmin在我的群集节点-reports清楚地显示了大量的空间可用。
我不知道这是为什么happending。
1.Stop所有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.Format的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服务
我有同样的问题,我跑磁盘空间非常低。 释放磁盘解决它。
我最常做的时候出现这种情况是我去TMP / Hadoop的用户名/ DFS /目录并手动删除数据和文件夹的名称 (假设你在Linux环境下运行)。
然后通过调用斌/ Hadoop的NameNode的-format格式化DFS(请确保您有资金Ÿ当询问您是否要格式化回答;如果你不问,然后再重新运行该命令)。
然后,您可以通过调用斌/ start-all.sh重新开始的Hadoop
在我而言,这个问题是通过在数据节点上50010打开防火墙端口解决。
文章来源: Writing to HDFS could only be replicated to 0 nodes instead of minReplication (=1)