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(); } }
操作結果: