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

Java Hadoop中的“只能复制到0个节点,而不是1”,java,hadoop,Java,Hadoop,在尝试向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(DFSOut

在尝试向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日志中,在运行该命令时没有异常

我的设置有什么问题?我只是遵循本教程中的步骤:

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

offerService java.io中的DataNode:IOException.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%数据节点使用率% 最小/中值/最大/标准差:0.00%/0.00%/0.00%/0.00%活动节点1 已停用:0个死节点0已停用:0

etc/hadoop/slaves只有localhost行

/etc/hosts有127.0.0.1localhost和127.0.1.1debian行


我怎样才能修好它?你能告诉我我还能检查什么以及如何检查吗?

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


我使用的是VirtualBox,所以我不得不重新安装整个操作系统和hadoop。有了新的设置,现在一切正常。因此,主要的猜测是,问题与可用空间的数量有关。240MB甚至对于单节点设置来说都不够。

您的datanode是否在live nodes中列出?hdfs dfsadmin-报告说它在live中列出有一个过程,jps说。权限没有问题-一切都以root用户身份完成。请尝试从etc/hosts中删除与127.0.1.1对应的条目