分布式文件系统应用

一、 实验目的

1. 理解HDFS在Hadoop体系结构中的角***r> 2. 掌握HDFS操作常用的Shell命令;
3. 熟悉HDFS操作常用的Java API。

二、 实验内容

1.利用Hadoop提供的Shell命令完成以下任务:

(1)在Hadoop的/目录下创建一个test1文件夹;

(2)在Hadoop的test1文件夹中创建一个file.txt文件;

(3)查看Hadoop的根目录下所有文件;

(4)将Hadoop根下test1目录中的file.txt文件,移动到根下并重命名为file2.txt;

(5)将Hadoop根下的file2.txt文件复制到test1目录下;

(6)在Linux本地/data目录下,创建一个data.txt文件,并向其中写入“hello hadoop!”;

(7)将Linux本地/data目录下的data.txt文件,上传到HDFS中的/test1目录下;

(8)查看Hadoop中/test1目录下的data.txt文件;

(9)将Hadoop中/test1目录下的data.txt文件,下载到Linux本地/apps目录中;

(10)查看一下/apps目录下是否存在data.txt文件;

(11)删除Hadoop根下的file2.txt文件;

(12)删除Hadoop根下的test1目录;

(13)使用Shell命令执行Hadoop自带的WordCount。



2.编程实现以下任务:

(1)编写一个Java程序,创建类LocateFile.class,查看HDFS文件系统上,文件/hdfstest/sample_data的文件块信息;


(2)编写一个Java程序,创建类WriteFile.class,在HDFS上,创建/hdfstest/writefile文件,并在文件中写入内容“hello world hello data!”。


三、实验总结

实验过程中遇到不少问题,由于考虑到后期我会继续使用自己笔记本上的虚拟机,本次实验我在自己笔记本上做的实验,实验过程中遇到很多自己虚拟机上没有的文件和文件夹,自己创建了相应的文件进行了替代。在usr文件夹中创建文件,总是报错,没有创建文件的权限。后来相应的文件我创建到了主目录,也就是‘~/’这个目录,在做javaAPI编程实验的时候,发现需要自己安装eclipse,安装软件花了很多时间,后来安装完了后,我特地写了一遍安装博客,目的是为了,当我后期需要对eclipse做出修改时,我能够有一个参考文档,记录每一个文件夹存储的位置。通过这次试验,使我熟悉了hadoop对文件和文本的基本操作,以及掌握了怎样使用java代码控制文件操作。