3.1 客户端环境准备(windows)
1)拷贝hadoop-3.1.X到非中文路径(比如d:\)。
2)配置HADOOP_HOME环境变量

3)配置Path环境变量。
注意:如果环境变量不起作用,可以重启电脑试试。

也可以直接添加地址D:\大数据实训汇总\hadoop-3.3.4\hadoop-3.3.4\bin
验证Hadoop环境变量是否正常。双击winutils.exe,如果报如下错误。说明缺少微软运行库(正版系统往往有这个问题)。

4)在IDEA中创建一个Maven工程HdfsClientDemo,并导入相应的依赖坐标+日志添加(配置maven环境和下载)
<!-- 添加一个操作hadoop的依赖包-->
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.1.4</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>compile</scope>
</dependency>
<!-- 日志包 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
在项目的src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入
//key=value
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
5)创建包名:com.example.hdfs

6)创建HdfsClient类
public class HdfsClient {
@Test
public void testMkdir()throws IOException, URISyntaxException,InterruptedException{
//获取配置对象
Configuration conf =new Configuration();
//设置dfs不需要权限
conf.set("dfs.permissions","false");
//获取hdfs文件系统
FileSystem fs=FileSystem.get(new URI("hdfs://hadoop101:8020/"),conf);
// System.out.println(fs);
//创建目录
boolean isOk=fs.mkdirs(new Path("/cc"));
System.out.println(isOk?"yes":"no");
}
错误 :
权限问题permission
方法一:(Hadoop101)
解决在hdfs.site.xml
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>然后用脚本分发
方法二:
导包问题
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.URISyntaxException; import java.net.URI;


![[笔记] 使用 Jenkins 实现 CI/CD :从 GitLab 拉取 Java 项目并部署至 Windows Server](https://i-blog.csdnimg.cn/direct/80690f955e024be69ee1d43474992041.png)


![HTB:Bastion[WriteUP]](https://i-blog.csdnimg.cn/direct/1a4021dedf5b447da108f72ef8834419.png)














