hadoop上传文件时出错,试遍网上所有解决方法均失败。求高手指教

OpenStack/Juju/MAAS/CloudStack/Hadoop
回复
头像
bigname
帖子: 21
注册时间: 2014-08-23 23:43
系统: win7

hadoop上传文件时出错,试遍网上所有解决方法均失败。求高手指教

#1

帖子 bigname » 2014-09-19 19:27

执行hadoop fs -put file*.txt hdfsInput . 时出现如下错误:
ERROR hdfs.DFSClient:Failed to close file /user/hadoop/hdfsInput/file1.txt
org.apache.hadoop.ipc.RemoteException:java.io.IOException:File /user/hadoop/hdfsInput/file1.txt could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.Namenode.FSNamesystem.getAdditionalBlock
....(后面还有很多 at...)

上网查了很多资料,一一试过,现将方法及结果记录下:

方法一:

确保master(namenode)、slaves(datanode)的防火墙已经关闭
结果:

用命令$ sudo ufw disable将防火墙都关闭。问题还是存在

方法二:

确保DFS空间的使用情况
结果:每台机器上空间都足够。问题还是存在

方法三:

Hadoop默认的hadoop.tmp.dir的路径为/tmp/hadoop-${user.name},而有的linux系统的/tmp目录文件系统的类型往往是Hadoop不支持的
结果:我将hadoop.tmp.dir的路径修改过。问题还是存在

方法四:

先后启动namenode、datanode
$hadoop-daemon.sh start namenode
$hadoop-daemon.sh start datanode
结果:试过。问题依然没解决。



以上是我在网上查到的所有解决办法,现在处于很郁闷的阶段。

另外,我还尝试过以下方法:

1、重新格式化hadoop,再重启Hadoop,问题依然存在

2、将每天机器上的Hadoop临时文件夹里的内容都删除,再格式化Hadoop,中重启,问题依然存在。

到此,继续绝望。

ps:我的Hadoop集群有5台机子,在master上启动后,一台(master)上有namenode、jobtracker、secondarynamenode,另外四台上有了datanode和tasktracker.
把上传文件这条指令再执行一次会说这个文件已存在。但还是没法继续后面的操作
回复