1. 在Eclipse或者IDEA中新建Maven项目
2.设置pom.xml文件,添加hadoop-comm、hadoop-hdfs和jdk.tools依赖
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.6</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
3. 导入pom.xml中配置的依赖
Eclipse中的操作是单击右键,选择Maven , 选择update project
4. 相关实例
// conf对配置参数进行访问
Configuration conf = new Configuration();
// 指定使用hdfs系统: centos-hadoop-node-01是namenode所在节点
// 9000端口用于Filesystem metadata operations
conf.set("fs.defaultFS", "hdfs://centos-hadoop-node-01:9000");
// 设定Java客户端访问HDFS的身份
System.setProperty("Hadoop_USER_NAME","root");
FileSystem fs = FileSystem.get(conf);
// 也可以通过如下的方式指定文件夹系统的类型,并且同时设置用户身份
// FileSystem fs = FileSystem.get(new URI("hdfs://centos-hadoop-node-01:9000"), conf, "root");
Path path = new Path("/TestHDFS0903/");
if(!fs.exists(path)) {
// 在HDFS新建文件夹
fs.mkdirs(path);
// 在HDFS新建文件
// fs.create(path);
}
// 上传文件到hdfs: 此处的参数必须被包装成Path对象,不能直接使用字符串
// 第一个参数表示whether to delete the src, 默认false
// 第二个表示是否覆盖目标文件夹同名文件 whether to overwrite an existing file, 默认true
fs.copyFromLocalFile(false,new Path("H:/国语电影/周星驰系列/大话西游之仙履奇缘-cd1.rmvb"),path);
// // 下载文件到本地
// fs.copyToLocalFile(new Path("/TestHDFS0903/大话西游之仙履奇缘-cd1.rmvb"), new Path("G:/"));
// 删除hdfs文件
// fs.delete(new Path("/TestHDFS0903"),true);
fs.close();
5. 查看web端文件信息
登录http://centos-hadoop-node-01:50070/, 再选择Browse the file system
6. 查看hdfs中block块的信息
(1)hdfs fsck /TestHDFS0903/大话西游之仙履奇缘-cd1.rmvb
(2)hdfs fsck /TestHDFS0903/大话西游之仙履奇缘-cd1.rmvb -files -blocks -locations
此命令能更详细地看到两个block的具体为位置