前言
本例子前提是在一个linux系统节点上已经安装部署了Hadoop
首先在linux中执行jps查看hadoop是否启动,nameNode等进程已经启动。
概述
本例子是在java项目中使用java代码操作hdfs系统一个例子,包括了获取DFSClient对象,读取新建文件等操作
代码
1:Configuration对象和URI对象
在得到DFSClient对象之前我们需要两个对象一个Configuration对象和URI对象
1:URI对象通过使用hdfs协议指定hdfs文件系统配置的节点地址,URI中的ip地址也可以改为我们的主机名但是需要配置好ip与主机的映射关系,这个映射关系本篇不讨论。
2:Configuration对象加载core-default.xml, core-site.xml文件
我们可以通过下图中的代码让其加载我们自己的core-site.xml文件并更改其中的值。
下图中是fs.defaultFS的值,第一个是hadoop包中默认的值,第二个是本地hdfs/core-site.xml中配置的值,第三个是代码中给定的值
下图中是hadoop-common-2.6.0.jar中的配置文件信息
2:得到DFSClient对象并得到hdfs根目录下所有对象
FileSystem对象就是DFSClient对象,也就是描述hdfs文件系统的一个对象。
首先看下图显示的是hdfs系统根目录下的文件信息
下图中控制台打印的信息刚好对应了hdfs系统的信息
3:创建目录,在根目录下创建myhdfs目录
4:删除目录
下图中myhdfs已经被删除
5:上传文件
下图中从本地上传了一个文件到hdfs中
6:读取文件
下图是hdfs中README.txt
7:按行读取hdfs文件内容
下图是hdfs中显示文件内容
8:下图是java的引入包路径
9:最后记得要关闭DFSClient对象
fileSystem.close();