第三章 熟悉常用的HDFS操作
第三章 熟悉常用的HDFS操作
实验目的
1.理解HDFS在Hadoop体系结构中的角色;
2.熟练使用HDFS操作常用的Shell命令;
3.熟悉HDFS操作常用的Java API。
实验平台
操作系统:Linux
Hadoop版本:2.10.0
JDK版本:1.8
Java IDE:Eclipse
如果这篇文章有帮到你,就请点个赞!!!!!!
准备工作
创建项目
导入项目需要的全部jar包(需要将下列jar包全部导入)
(1)/usr/local/hadoop/share/hadoop/common目录下的hadoop-common-2.10.1.jar和haoop-nfs-2.10.1.jar;
(2)/usr/local/hadoop/share/hadoop/common/lib目录下的所有JAR包;
(3)/usr/local/hadoop/share/hadoop/hdfs目录下的haoop-hdfs-2.10.1.jar和haoop-hdfs-nfs-2.10.1.jar;
(4)/usr/local/hadoop/share/hadoop/hdfs/lib目录下的所有JAR包。
导入所有jar包后Finish
实验内容
将Hadoop启动(一切操作的基础)
创建类名
前三个题目需要生成对应的jar包,其他的不用
(1) 查看文件hadoop307.txt是否存在,如果不存在,请创建。
(2) hadoop307.txt写入内容。
(3) 读取hadoop307.txt文件内容。
创建对应的目录存放生成的jar包
将FileExist类生成可执行的jar包
其他的三个类同FileExist一样的操作
打包好三个jar包
执行jar包
(4) 将HDFS中指定文件的内容输出到终端中;
相应的Terminal操作
(5) 给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;
主函数
运行结果
相应的Terminal操作
(6) 提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;
主函数
运行结果
相应的Terminal操作
第七个问题相对较复杂
对于追加到文件开头这种操作,需要先将HDFS文件下载到本地,在本地加工之后在上传。
(7) 向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾;
主函数
最开始文件里边只有hello world
运行java程序后
修改条件
相应的Terminal操作
在/usr/local/hadoop/下创建local.txt,并写入内容
追加到结尾(被箭头掩盖的单词是*-appendToFile*)
(8) 删除HDFS中指定的文件;
主函数
(9) 删除HDFS中指定的目录,由用户指定目录中如果存在文件时是否删除目录;
当条件是"-r"时,无论该目录下是否有文件,都进行删 除操作
运行java程序
相应的Terminal操作
(10) 在HDFS中,将文件从源路径移动到目的路径。
运行java程序test目录下已经没有文件,多了hadoop314.txt
如果这篇文章有帮到你,就请点个赞!!!!!!