VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

时间:2024-05-30 20:23:25

在本次学习中重点是在VM虚拟机上安装Eclipse,并在Eclipse中使用Java代码实现hadoop文件的各种操作。

Eclipse的安装

图形界面联网下载,需要注意版本问题。
使用压缩包,解压安装。

本文将讲解使用压缩包进行eclipse的安装。

-first,压缩包拉进桌面,复制到你要安装的路径(本文安装在/usr/local/目录下)。
eg.cp 压缩包的名字 /usr/local/
-second,解压。
eg.tar zxvf 压缩包名字(后加压缩到的路径,不加就解压在当前路径)。
-third,将插件放进eclipse中的plugins文件夹内。
-fourth,启动。在eclipse目录中使用命令:./eclipse。
启动后需要更改配置如下:
-右键->new hadoop location –> 9000和9001的改动,主机名字的改变。
-新建一个MapReduce 加外部jar包

在/usr/local/hadoop1/share/hadoop目录下(也就是安装好的hadoop文件夹下的share/hadoop/目录)

目录名 引包
Common 3个和lib下全部
Hdfs 3个和lib下全部
Mapre 全部和lib下全部
Yarn 全部和lib下全部

命令操作的java代码实现

VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

1、新建文件夹 命令行: hadoop fs -mkdir /newDir
java代码: fileSystem.mkdirs(new Path(“/newDir”));
2、删除文件/夹 命令行: hadoop fs -rm/r /newDir
java代码: fileSystem.delete(new Path(“/newDir”));
3、判断文件/夹的存在 命令行: hadoop fs -test -e /usr>>echo$?0存在1不存在
java代码: fileSytem.exists(new Path(“/file”));



参考代码如下:
VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

4、新建文件 命令行: hadoop fs -touchz /xttNewdir
java代码: fileSystem.create(new Path(“/xttNewdir”))
从第num个字节开始读取: fin.seek(num);


参考代码如下:

VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

5、读取文件夹 命令行: hadoop fs -ls /
java代码: 采用输出流进行System.out进行显示

补充:FileStatus status = FileSystem.getFileStatus(new Path(url));
在使用该方法查找文件的时候可以联合通配符的应用来进行,可以更好的匹配查找。

参考代码如下:
VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

7、复制文件 命令行: hadoop fs -cp /hello /tt(把hello复制到根目录下改名字为tt)
hadoop fs -cp /hello /tmp/(把hello复制到tmp目录下不改名字)
java 代码: IOUtils.copy(fin,fout);


参考代码如下:
VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

补充:如果是剪切的话,只能是先复制在删除源文件。


8、下载文件 命令行: hadoop fs -get /xttNewdir
java代码: fileSystem.open(new Path(“/xttNewdir”));
9、上传文件 命令行: hadoop fs -put /xttNewdir
java代码: fileSystem.create(new Path(url))



VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现

上传下载都是使用输入输出流来完成进行的。
本地:OutputStream——InputStream
HDFS:FSDataOutputStream——-FSDataInputStream

比如本例子中:
从本地上传到hadoop:
输入流使用的是InputStream
输出流使用FSDataOutputStream
从hadoop下载到本地:
输入流使用的是FSDataInputStream
输出流使用的是OutputStream


10、因为文件上传后不能修改,所以采取追加的方法来追加内容。追加的内容分为两种类型:一、追加数据;二、追加一个文件内的内容。

追加内容 java代码 fileSystem.append(url)


VM虚拟机上安装Eclipse和Hadoop上文件命令操作的java代码实现