我正在经历着名的#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行。
我该如何解决?你能告诉我我还能检查什么以及如何检查?
答案 0 :(得分:0)
最后,我通过为系统提供更大的驱动器空间来解决这个问题。
我正在使用VirtualBox,所以我不得不重新安装整个操作系统和hadoop。使用新设置,它现在可以正常工作。所以主要的猜测是问题与可用空间量有关。即使对于单节点设置,240MB也是不够的。