eclipse 通过插件向hdfs上传文件遇到一个很坑的问题

来源:互联网 发布:mac 强制退出 编辑:程序博客网 时间:2024/06/10 17:06

   这个问题害我纠结了一天,具体情况是这样的,我通过eclipse for hadoop 插件向master hdfs主机上传文件,然后做一个测试。 至于环境搭建和怎么配置插件我这里就不着重讲了,我通过插件连接上了master的hdfs,我再上面新建文件夹,后面我把一个测试文件通过插件进行上传,发现上传到hdfs上的文件大小仅为0kb,我勒个去甚是郁闷啊!!! 各种百度,修改配置文件试了很多次发现问题依旧如此,后来无意间我发现之前装过其他版本的hadoop,尼玛,终于搞懂了。 

这是我eclipse上传到hdfs文件状态 大小为0kb 

  


接下来列举下解决问题得步骤:

1.查看hdfs-site.xml,已经设置hdfs的访问控制设为false.
 

2.查看hdfs的文件目录权限:
 
已执行:
bin/Hadoop fs -chmod 777

3.修改windows本地帐户
 

4.检查hdfs能否本地上传
bin/hadoop fs -put Test_1 /home/hadoop/in
 
可以上传

5.检查eclipse的配置端口:
 
和core-site.xml的一致:
 

做完以上5个步骤,问题依然没有解决。发现不同的方式上传的文件属性不同
 
不知道是什么原因?

6.检查seLinux是否禁用(这步请谨慎修改,修改了很可能造成linux启动不起来,我这步没有做)

禁用selinux
编辑 "/etc/selinux/config"文件,设置"SELINUX=disabled"

最后:

在root权限下:
关闭防火墙:
/sbin/service iptables stop 关闭防火墙这步很关键 记得关闭集群中所有机器防火墙~~~~

重启 reboot


7.重启后,重启hadoop将Test_1文件上传到hdfs中在本地可以看到文件内容
 

ok 到了这一步基本上没什么问题了,我们返回eclipse通过插件看看文件大小

大小大于0kb  证明我们上传文件到hdfs是成功了的
接下来我着重分析下我的解决方法:
 1   由于我的hadoop装过两个版本,前期是装的hadoop 2.6.2 版本  后面为了学习我选择hadoop1.2.1
由于多次格式化造成的,导致datanode没有启动成功,只要将temp下的tmp文件夹以及dfs下的data、name文件夹清空,然后重新格式化,然后启动集群就可以成功上传文件了
2 切忌一定要关闭集群中所有节点的防火墙,因为上传文件需要检测防火墙是否开启,如果防火墙开启上传文件是会有问题的。 

阅读全文
0 0