【问题解决】利用Eclipse,在hadoop上传文件到hdfs没有内容

本文适用于一些在网上找了半天答案都没解决问题的人群,因为我也是在按网上说道弄了一天,最后才解决的。如果你是刚遇到问题,还没有深入,建议你查看这篇文章
http://f.dataguru.cn/hadoop-208802-1-1.html
将问题一步一步排除后仍没有解决的话,可以试试我这个方法。如果还是不行,那就我也无能为力了,革命道路还很漫长,你仍需努力啊!!(笑哭)

问题描述:
这里写图片描述
它没有任何报错的信息,文件照常创建,但文件就是没有内容,打开是空的。唯一可疑的地方就是上传速度太慢了,一个只有几个字符的文件上传了40多秒。刚开始以为自己的笔记本太渣了。直到解决问题后。
这里写图片描述
如果你符合上述问题描述的话,那么恭喜,你应该找到了解决方案。

解决方案:
问题的根本就是你的防火墙没有关闭,说道这里有人会质疑,防火墙我早关了呀,没错防火墙你是关了,不然就不会访问到hadoop,但恰恰是这个原因,你忽略了大的问题,你只关了nameNode的防火墙,dataNode的防火墙你或许忘关了。这就导致了你能正常访问hadoop,但却无法上传文件内容。而等待的那40多秒时间 ,是因为它在不停的访问dataNode的ip但由于防火墙权限,一直不能访问成功。最后以失败告终,但空文件却生成在了nameNode上,所以就有了你现在所处的尴尬局面。


删除原来的空文件后重新上传代码。
这里写图片描述
问题解决,看看上传时间,只有不到三秒的时间,和以前相差十五倍的时间。
这里写图片描述

用浏览器访问看看,可以显示出详细信息。

这里写图片描述

注意:我这里连nameNode加上,用虚拟机一共只开了三台Linux,我将所有的防火墙都关了才解决的问题。

Eclipse中通过Hadoop插件上传文件HDFSHadoop分布式文件系统),你可以按照以下步骤操作: 1. **安装Hadoop插件**:首先确保你已经在Eclipse中安装了Hadoop工具包,通常叫做"m2e-wtp"或"Eclipse for Hadoop"。如果没有,可以从Hadoop官方网站下载并配置。 2. **设置Hadoop环境**:在Eclipse中,打开`Window > Preferences`, 寻找`Maven > General > Workspace`,添加Hadoop的Maven仓库地址,并配置Hadoop的环境变量,如JAVA_HOME和HADOOP_HOME。 3. **创建项目**:在Eclipse中右键点击工作间,选择New -> Other -> Maven Project,然后选择Hadoop相关的模板创建新项目。 4. **编写代码**:在项目的src目录下创建一个新的Java类,使用Hadoop的API(如FileSystem、Path等)来实现文件上传。例如,你可以使用`Configuration`对象加载Hadoop配置,然后创建`FileSystem`实例,调用`put()`方法将本地文件复制到HDFS指定路径。 ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class FileUploader { public static void main(String[] args) throws Exception { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(conf); Path outputPath = new Path("/path/to/your/hdfs/directory"); String localFilePath = "/path/to/your/local/file"; fs.copyFromLocalFile(new Path(localFilePath), outputPath); System.out.println("File uploaded successfully."); } } ``` 5. **运行程序**:在Eclipse中,右键点击这个类,选择Run As -> Java Application。如果一切配置正确,你的文件应该会被上传HDFS
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigCabbageFy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值