前期准备:
一、前期准备
(1)Hadoop集群已配置完毕
(2)linux系统安装jdk
(3)在linux系统中安装并破解IntelliJ IDEA
二、通过JAVA API接口 *** 纵HDFS
1.在IDEA中创建maven项目
2.设置配置文件
(1)修改pom.xml文件导入依赖如下,刷新,自动安装hdfs所需包
(2)在hdfs项目的src->main->resources路径下创建log4j2.xml日志文件,添加内容如下
3.在hdfs项目的src->main->java路径下创建com.min.hadoop包,然后在com.min.hadoop包下创建HdfsUtil.java、test.java实现hdfs的文件 *** 作,项目目录结构如下图
4.HdfsUtil.java文件实现了hdfs文件的上传、下载、删除、创建以及重命名 *** 作,源代码如下
package com.min.hadoop; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.LocatedFileStatus; import org.apache.hadoop.fs.Path; import org.apache.hadoop.fs.RemoteIterator; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; public class HdfsUtil { private FileSystem fs; HdfsUtil(String user){ Configuration cfg = new Configuration(); URI uri = null; try { uri = new URI("hdfs://Hadoop1:9000"); } catch (URISyntaxException e) { e.printStackTrace(); } try { // 根据配置文件,实例化成DistributedFileSystem fs = FileSystem.get(uri, cfg, user); // 得到fs句柄 } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } public void upload(String src, String dst){ try { // 上传 fs.copyFromLocalFile(new Path(src), new Path(dst)); } catch (IOException e) { e.printStackTrace(); } } public void download(String src, String dst){ try { // 下载 fs.copyToLocalFile(new Path(src), new Path(dst)); } catch (IOException e) { e.printStackTrace(); } } public void mkdir(String dir){ try { fs.mkdirs(new Path(dir)); } catch (IOException e) { // 创建目录 e.printStackTrace(); } } public void delete(String name, boolean recursive){ try { fs.delete(new Path(name), recursive); } catch (IOException e) { e.printStackTrace(); } } public void rename(String source, String dst){ try { fs.rename(new Path(source), new Path(dst)); } catch (IOException e) { e.printStackTrace(); } } }
5.test1.java文件创建主函数向hdfs上传文件1.txt
(1)上传文件代码
(2)运行成功
(3)网页端查看
6.test1.java文件创建主函数从hdfs下载文件到桌面并命名为hadoop.txt
(1)下载文件代码
(2)linux桌面查看
7.test1.java文件创建主函数在hdfs的根目录下创建文件夹bhn
(1)创建文件夹代码
(2)网页端查看
8.test1.java文件创建主函数删除hdfs上根目录下的1.txt文件
(1)删除文件代码
(2)网页端查看
9.test1.java文件创建主函数在hdfs上将bhn重命名为baihongna
(1)重命名文件代码
(2)网页端查看
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)