HDFS【hadoop3.1.3 windows开发环境搭建】
阅读原文时间:2022年02月28日阅读:1

目录

一、配置hadoop3.1.3 windows环境依赖

将 \资料\01_jar包\03_Windows依赖\hadoop-3.0.0放到任意一个目录

配置环境变量

%HADOOP_HOME%:D:\SoftWare\hadoop-3.1.0

添加到path路径

%HADOOP_HOME%\bin

在cmd中测试

winutils是否可用

注意

   1.测试-winutils如果不行,重启动电脑
   2.有些电脑可能会有些问题(比如无法在代码中上传或者下载)需要将:把hadoop.dll 和 winutils.exe放      到c:\windows\system32目录下就好了

二、idea中的配置

创建工程/模块

添加pom.xml依赖

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>3.1.3</version>
        </dependency>
    </dependencies>

注意 :IDEA中maven的配置

日志添加--配置log4j2.xml

在项目的src/main/resources目录下,新建一个文件,命名为“log4j2.xml”,在文件中填入

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="error" strict="true" name="XMLConfig">
    <Appenders>
        <!-- 类型名为Console,名称为必须属性 -->
        <Appender type="Console" name="STDOUT">
            <!-- 布局为PatternLayout的方式,
            输出样式为[INFO] [2018-01-22 17:34:01][org.test.Console]I'm here -->
            <Layout type="PatternLayout"
                    pattern="[%p] [%d{yyyy-MM-dd HH:mm:ss}][%c{10}]%m%n" />
        </Appender>

    </Appenders>

    <Loggers>
        <!-- 可加性为false -->
        <Logger name="test" level="info" additivity="false">
            <AppenderRef ref="STDOUT" />
        </Logger>

        <!-- root loggerConfig设置 -->
        <Root level="info">
            <AppenderRef ref="STDOUT" />
        </Root>
    </Loggers>
</Configuration>

创建测试类Hdfsdemo

public class Hdfsdemo{
@Test
public void testMkdirs() throws IOException, InterruptedException, URISyntaxException{

        // 1 获取文件系统
        Configuration configuration = new Configuration();
        // 配置在集群上运行
        // configuration.set("fs.defaultFS", "hdfs://hadoop102:8020");
        // FileSystem fs = FileSystem.get(configuration);

        FileSystem fs = FileSystem.get(new URI("hdfs://hadoop102:8020"), configuration, "atguigu");

        // 2 创建目录
        fs.mkdirs(new Path("/1108/daxian/banzhang"));

        // 3 关闭资源
        fs.close();
    }
}

更多参考HDFS【Java API操作】

报错

注意"hdfs://hadoop102:8020"的检查路径以及端口号、hadoop集群是否启动