实验02熟悉常用的HDFS操作
学生姓名: 学号: 专业班级:计科1811
实验类型:验证 综合 设计 创新 实验日期: 实验成绩:
一、 实验目的
1) 理解HDFS在Hadoop体系结构中的角色;
2)熟练使用HDFS操作常用的Shell命令;
3)熟悉HDFS操作常用的Java API;
二、 实验平台
操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04)
Hadoop版本:3.1.3
JDK版本:1.8版本
Java IDE:Eclipse
三、 实验内容
1)参照学习指南https://dblab.xmu.edu.cn/blog/290-2/中的关于HDFS文件操作的常用Shell命令进行练习操作;
2)编写一个Java程序,新建一个HDFS文件,并向其中写入你的名字;同时利用Hadoop提供的Shell命令完成相同任务;
3)编写一个Java程序,判断HDFS上是否存在某个文件;同时利用Hadoop提供的Shell命令完成相同任务;
4)编写一个Java程序,打开一个HDFS中的文件,并读取其中的数据输出;同时利用Hadoop提供的Shell命令完成相同任务。
其中Java代码可参照学习指南https://dblab.xmu.edu.cn/blog/290-2/中附录的三个范例
四、 实验代码和结果(截图展示)
1)
需要启动Hadoop
在终端输入如下命令,查看fs总共支持了哪些命令:
查看put命令如何使用,可以输入如下命令
使用如下命令显示HDFS中与当前用户hadoop对应的用户目录下的内容:
使用如下命令创建一个input目录
使用如下命令把本地文件系统的“/home/hadoop/myLocalFile.txt”上传到HDFS中的当前用户目录的input目录下,也就是上传到HDFS的“/user/hadoop/input/”目录下:
使用ls命令查看一下文件是否成功上传到HDFS中,具体如下
使用如下命令查看HDFS中的myLocalFile.txt这个文件的内容
把HDFS中的myLocalFile.txt文件下载到本地文件系统中的“/home/hadoop/下载/”这个目录下
2)
此代码在虚拟机中安装IDEA linux运行,并且需要导入jar包。Ubuntu16的jar包路径参考一下第三部分为项目添加jar包
1、
package HDFSExample;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.