1. pom
<hadoop.version>2.7.3</hadoop.version>
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>${hadoop.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> <version>${hadoop.version}</version> </dependency>
2. Java基本操作
// 定义一个fileSystem的变量,用的是Hadoop的包 FileSystem fileSystem = null; public void init() { // 设置环境变量,让程序可以找到bin目录下的 winutils.exe // 找不到 winutils.exe 会报错,但是也没关系,并不影响程序运行 System.setProperty("hadoop.home.dir", "D:\project\Hadoop\hadoop-3.1.1\hadoop-3.1.1"); try { // 获取一个具体的文件系统对象 fileSystem = FileSystem.get( // 创建一下HDFS文件系统的访问路径,就是Hadoop配置文件中的core-sit.xml中的HDFS文件系统的所在机器 new URI("hdfs://node34:8020"), // 创建一个Hadoop的配置文件的类 new Configuration(), // 就是Linux启动的用户名 "root"); System.out.println(fileSystem); Path dirPath = new Path("/hadoop126"); if (!fileSystem.exists(dirPath)) { boolean mkdirs = fileSystem.mkdirs(dirPath); System.out.println("创建文件:"+dirPath.getName()); } else { System.out.println("文件已存在"); } System.out.println("OK"); } catch (Exception e) { e.printStackTrace(); } }
操作结果: