最近做hadoop实验时老师让我们在linux系统装elipse,并在maven上写hdfs的API操作,但这会比较麻烦,在看其他视频后windows也可以作为客户端连接hadoop集群并进行hdfs操作。
1.首选需要hadoop的依赖包
包含2.6到3.2的依赖包,百度云下载
链接:https://pan.baidu.com/s/1GiK0DNWfAmSNN_rJr2FWjA
提取码:1234
然后配置环境变量和系统变量
并打开hadoop依赖包里的winutils.exe,正常打开会一闪而过
第二步,创建maven工程,你们自己看着办啦。并在maven里加入依赖。
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>
再附上连接hdfs的代码
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
//import javax.security.auth.login.Configuration;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Arrays;
public class HdfsClient {
private FileSystem fs;
@Before
public void init() throws URISyntaxException, IOException, InterruptedException {
URI uri = new URI("hdfs://hadoop102:8020");
//这是hadoop里的内部端口号这个不一样可能要子去查
Configuration configuration = new Configuration();
String user="atguigu";
//这是你查看hdfs集群时的用户名
fs = FileSystem.get(uri, configuration,user);
}
@After
public void close() throws IOException {
fs.close();
}
如果后面还有hdfs的API操作则要你们自己去学了。这里学习hadoop3.x推荐b站尚硅谷的课,讲的还是很不错的。