首页 文章

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

提问于
浏览
0

在尝试将一些文件添加到hdfs时,我遇到了一个着名的“只能在我的单节点Hadoop安装中复制到0个节点,而不是1”错误:

$ 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”;目标主机是:“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使用的块池%: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

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

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

相关问题