"只能复制到0个节点,而不是1"在Hadoop中

时间:2014-09-14 01:04:37

标签: java hadoop

我正在经历着名的#34;只能被复制到0个节点,而不是1"尝试将某些文件添加到hdfs时,我的单节点Hadoop安装出错:

$ hdfs dfs -mkdir -p /grep/in 
$ hdfs dfs -put /hadoop_install_location/etc/hadoop/* /grep/in/ 

第一个命令运行正常,第二个命令产生异常:

    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:525)
put: File /grep/in/yarn-site.xml._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 1 datanode(s) running and no node(s) are excluded in this operation.

此例外只能在namenode的日志中找到。在datanode日志中,运行该命令时没有异常。

我的设置有什么问题?我刚刚接受了本教程中的步骤:http://elephantscale.com/hadoop2_handbook/Hadoop2_Single_Node.html

我听说我需要关闭IPv6,但我没有这个,这很重要吗? 此外,当我调用stop-dfs.sh时,会在datanode日志中打印一个异常:

  

DataNode:offerService中的IOException java.io.IOException:失败   本地异常:java.io.EOFException;主机详细信息:本地主机是:   "的Debian / 127.0.1.1&#34 ;;目标主机是:" localhost":8020;

但即使我没有运行ny put命令,也会发生这种情况,这种情况只会在每次关闭dfs时发生。

Namenode webUI说:

  

配置容量:1.87 GB DFS使用:28 KB非DFS使用:1.65 GB DFS   剩余:230.8 MB DFS已用百分比:0%DFS剩余%:12.04%块池   使用:28 KB Block Pool Used%:0%DataNodes用法%   (Min / Median / Max / stdDev):0.00%/ 0.00%/ 0.00%/ 0.00%实时节点1   (退役:0)死亡节点0(退役:0)

etc / hadoop / slaves只有localhost行,

/ etc / hosts有127.0.0.1 localhost和127.0.1.1 debian行。

我该如何解决?你能告诉我我还能检查什么以及如何检查?

1 个答案:

答案 0 :(得分:0)

最后,我通过为系统提供更大的驱动器空间来解决这个问题。

我正在使用VirtualBox,所以我不得不重新安装整个操作系统和hadoop。使用新设置,它现在可以正常工作。所以主要的猜测是问题与可用空间量有关。即使对于单节点设置,240MB也是不够的。