写入到HDFS只能被复制到0的节点,而不是minReplication(= 1)(Writing t

2019-07-22 16:22发布

我有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。

Answer 1:

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服务



Answer 2:

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



Answer 3:

  1. 检查您的数据节点是否正在运行,使用命令: jps
  2. 如果它没有运行等待一段时间,然后重试。
  3. 如果它在运行 ,我认为你必须重新格式化你的数据节点。


Answer 4:

我最常做的时候出现这种情况是我去TMP / Hadoop的用户名/ DFS /目录并手动删除数据和文件夹的名称 (假设你在Linux环境下运行)。

然后通过调用斌/ Hadoop的NameNode的-format格式化DFS(请确保您有资金Ÿ当询问您是否要格式化回答;如果你不问,然后再重新运行该命令)。

然后,您可以通过调用斌/ start-all.sh重新开始的Hadoop



Answer 5:

非常简单的修补程序在Windows 8.1中同样的问题
我使用的是Windows 8.1操作系统和Hadoop 2.7.2,做了下面的事情来解决这个问题。

  1. 当我开始了HDFS的NameNode -format,我注意到在我的目录锁。 请参考下图。
  2. 一旦我删除了完整的文件夹,如下图所示,我再次做了HDFS的NameNode -format。
  3. 执行上述两个步骤后,我能成功地把我需要的文件在HDFS系统。 我用启动all.cmd命令启动纱和NameNode的。


Answer 6:

我有这个问题,我解决了它波纹管:

  1. 看到的是你的DataNode和NameNode的元数据/数据保存在那里; 如果你不能找到它,简单地做在Mac上这个命令来找到它(有位于一个名为“TMP”的文件夹中)

    发现在/ usr /本地/库/ -name “TMP”;

    找到命令是这样的:找到<“目录”> -name <“任意字符串线索该目录或文件”>

  2. 发现该文件,进入这个目录之后。 在/ usr /本地/酒窖//的Hadoop / HDFS / tmp目录

    然后cd到DFS

    然后使用-ls命令来查看数据和名称的目录都在那里。

  3. 使用删除命令,删除他们两个:

    RM -R数据。 和rm -R名

  4. 进入bin文件夹,并结束一切,如果你已经没有做到:

    sbin目录/ end-dfs.sh

  5. 退出从服务器或本地主机。

  6. 登录到服务器再次:SSH <“服务器名称”>

  7. 启动DFS:

    sbin目录/ start-dfs.sh

  8. 格式化名称节点为是肯定的:

    斌/ HDFS的NameNode -format

  9. 您现在可以使用HDFS命令你的数据上传到DFS和运行MapReduce作业。



Answer 7:

在我而言,这个问题是通过在数据节点上50010打开防火墙端口解决。



文章来源: Writing to HDFS could only be replicated to 0 nodes instead of minReplication (=1)