創建一個新項目
選擇maven項目
然後next
輸入項目名稱(自定義)
然後finish
導入需要的jar包
有hadoop-common ;hadoop-client ; hadoop-hdfs
<!--hadoop common-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.9.2</version>
</dependency>
<!--hadoop client-->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
導入需要點時間,慢慢等待。
log4j配置
在resource文件下,創建log4j.properties文件
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
創建一個類用來測試鏈接
package com.lagou.hdfs;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
/**
* @author: yehw
* @date: 2020/7/4 14:16
* @description: hdfs客戶端樣例
*/
public class HdfsClient {
@Test
public void testMkdir() throws IOException, URISyntaxException, InterruptedException {
/**
* 創建配置對象
* */
Configuration configuration=new Configuration();
/**
* 獲得fs文件對象
* */
FileSystem root = FileSystem.get(new URI("hdfs://linux121:9000"), configuration, "root");
/**
* fs接口使用
* */
boolean mkdirs = root.mkdirs(new Path("/app_test1"));
/**
* 關閉fs
* */
root.close();
}
}
啓動方法,到http://linux121:50070/explorer.html#/查看
文件創建成功。