java - Hadoop中的“could only be replicated to 0 nodes, instead of 1”

标签 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(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日志中,运行该命令时没有异常(exception)。

我的设置有什么问题?我只是遵循了本教程中的步骤:http://elephantscale.com/hadoop2_handbook/Hadoop2_Single_Node.html

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

DataNode: IOException in offerService java.io.IOException: Failed on local exception: java.io.EOFException; Host Details : local host is: "debian/127.0.1.1"; destination host is: "localhost":8020;



但这即使我不运行ny put命令也会发生,仅在我关闭dfs时才会发生。

Namenode webUI说:

Configured Capacity: 1.87 GB DFS Used: 28 KB Non DFS Used: 1.65 GB DFS Remaining: 230.8 MB DFS Used%: 0% DFS Remaining%: 12.04% Block Pool Used: 28 KB Block Pool Used%: 0% DataNodes usages% (Min/Median/Max/stdDev): 0.00% / 0.00% / 0.00% / 0.00% Live Nodes 1 (Decommissioned: 0) Dead Nodes 0 (Decommissioned: 0)



etc / hadoop / slaves只有本地主机行,

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

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

最佳答案

最后,我为系统提供了更大的驱动器空间,从而解决了该问题。

我正在使用VirtualBox,因此必须重新安装整个操作系统并安装hadoop。使用新设置,现在可以正常运行。因此,主要猜测是问题与可用空间量有关。即使对于单节点设置,240MB也不够。

关于java - Hadoop中的“could only be replicated to 0 nodes, instead of 1”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25829189/

相关文章:

algorithm - All 对图形上的所有路径

java - 在方法内部声明的数组与在方法外部声明并在方法内部用作输入的数组在时间上有所不同

Java Applet 出现错误 java.lang.reflect.InitationTargetException

java - 从抽象类引用子类

hadoop - 如果在 impala statestore 关闭时执行 DDL,为什么 Impala 查询会失败?

java - 是否有可能将hadoop集群虚拟地分成小集群

hadoop - Teradata 快速导出(或 TPT)与 Sqoop 导出

java - 使用接口(interface)用对象填充列表

java - 如何让应用重启后服务继续工作

amazon-web-services - 如何使用Spark从一个AWS账户读取数据并写入另一个AWS账户?