示例代码
链接:https://pan.baidu.com/s/1yUnJh-j9EKmL2hPF8biAtg?pwd=dv12 提取码:dv12
鼠鼠遇到的坑!!!
- 之前配置的
Hadoop
的core-site.xml
文件中的配置的fs.defaultFS
地址是hdfs://localhost:9000
,然后后面Java
连不上hdfs
-
9000
端口也是打开了,但就是连不上 -
9870
端口也能正常访问 - 防火墙也关闭了,也不行
- 查阅诸多资料发现问题是
Hadoop
配置文件core-site.xml
的fs.defaultFS
地址问题 - 只需将
localhost
改为自身IP
即可 -
core-site.xml
配置如下
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/tmp</value>
<description>location to store temporary files</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.186.2:9000</value>
<!-- <value>hdfs://localhost:9000</value> -->
</property>
</configuration>
- 修改完后重启
Hadoop
-
Java
即可成功连接
HDFS常量类用于配置HDFS
HDFS配置相关代码
1.向 HDFS 中上传任意文本文件,如果指定的文件在 HDFS 中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。
代码实现
测试
文件不存在
-
查看当前
HDFS
文件是否存在
- -
本地文件内容
-
测试代码,方法首先会判断文件是否存在,此时无论选择哪个参数,都是直接上传
-
运行结果
-
查看是否成功,如图成功
覆盖
-
查看当前
HDFS
文件为内容hello
-
本地文件内容为
hello world!
-
测试代码(选择
OVER_WRITE
参数) -
运行结果
-
查看HDFS文件内容是否为
hello world!
,如图覆盖成功
追加到末尾
-
查看当前
HDFS
文件为内容hello world!
-
本地文件内容为
Haoop!
-
测试代码(选择
APPEND_TO_END
参数) -
运行结果
-
查看HDFS文件内容是否为
hello world!Hadoop!
,如图追加成功
2.从 HDFS 中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名。
代码实现
测试
本地不存在同名文件
-
查看HDFS文件内容
hello world!Hadoop!
-
测试代码
-
运行结果
-
查看下载下来的文件内容是否为
hello world!Hadoop!
,如图成功
本地存在同名文件
-
查看HDFS文件内容
hello Java!
-
测试代码
-
运行结果
-
查看下载下来并重命名的文件内容是否为
hello Java!
,如图成功
将 HDFS 中指定文件的内容在终端显示。
代码实现
测试
-
查看
HDFS
文件内容hello Java!
-
测试代码
-
运行结果(结果与
HDFS
文件内容hello Java!
一致,成功)
显示HDFS中指定的文件读写权限、大小、创建时间、路径等信息。
代码实现
测试
-
shell
命令查看HDFS
文件信息 -
测试代码
-
运行结果(与
shell
命令执行结果一致,成功)
3.给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息。
代码实现
测试
-
shell
命令查看HDFS
目录信息 -
测试代码
-
运行结果(与
shell
命令执行结果一致,成功) -
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
4.提供一个 HDFS 中的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录。
代码实现
测试
文件所在目录存在
-
测试代码
-
运行结果
文件所在目录不存在
-
测试代码
-
运行结果
5.向HDFS中指定的文件追加内容,由用户指定将内容追加到原有文件的开头或结尾。
代码实现
测试
追加到开头
-
HDFS
文件内容为Hadoop
-
本地文件内容为
Hello!
-
测试代码
-
运行结果
-
查看
HDFS
文件内容是否为Hello!Hadoop
,如图成功
追加到结尾
-
HDFS
文件内容为Hello!Hadoop
-
本地文件内容为
!Java
-
测试代码
-
运行结果
-
查看
HDFS
文件内容是否为Hello!Hadoop!Java
,如图成功
6.删除 HDFS 中指定的文件。
代码实现
测试
-
查看要删除的
HDFS
文件 -
测试代码
-
运行结果
-
查看
HDFS
是否删除,如图成功
7.在HDFS中将文件从源路径移动到目的路径。
代码实现
测试
将/user/root/test.txt
文件移动到/user/root/test
目录下
-
查看
HDFS
,/user/root/test
目录下没有文件 -
测试代码
-
运行结果
-
查看
HDFS
,如图移动成功文章来源:https://www.toymoban.com/news/detail-860720.html -
文章来源地址https://www.toymoban.com/news/detail-860720.html
到了这里,关于Java Api操作HDFS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!