6-部署本地开发环境1(hdfs)

6-部署本地开发环境(hdfs)

  1. 官网下载 jdk 和maven(已提供则无需下载)

jdk下载地址: Java Archive Downloads - Java SE 8u211 and later

Maven下载地址Maven Releases History – Maven

选择jdk1.8 和maven 3.9.14

2.安装配置Windows上的jdk

(1)安装jdk

           

注意这个安装地址:   D:\Software\Java\jdk-1.8\   等下会用到。

(2)配置jdk环境

找到我的电脑,右键选择“属性”

点击“高级系统设置”

点击“环境变量”

找到系统变量,新建一个。变量名JAVA_HOME(代表你的JDK安装路径),值对应的是你的JDK的安装路径。

在系统变量里面找一个变量名是PATH的变量,需要在它的值域里面追加一段如下的代码:

%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

然后点击“确定”,“确定”,“确定”

(3)验证

Win+R键

输入cmd

看到以上结果,则已成功在windows系统上配置了java环境。

3. 配置Maven环境

(1)解压Maven压缩包

(2)配置Maven环境

找到我的电脑,右键选择“属性”

点击“高级系统设置”

点击“环境变量”

在“系统变量”选项组中单击“新建”按钮,打开“新建系统变量”对话框,设置“变量名”为“MAVEN_HOME”,设置“变量值”为刚才解压的目录,如图,然后单击“确定”按钮。

返回“环境变量”对话框,将MAVEN_HOME 配置到系统环境变量Path 中。双Path变量,在打开的“编辑环境变量”对话框中单击“新建”按钮,在文本框中输入%MAVEN_HOME%\bin,如图。

        

然后点击“确定”,“确定”,“确定”

(3)验证

Win+R键

输入cmd

看到以上结果,则已成功在windows系统上配置了Maven环境。

在一个磁盘中创建一个文件夹,命名为repository。具体路径依据个人情况而定,建议

放到非C 盘,且容量较大的磁盘。

打开Maven 安装目录,进入conf 目录,打开settings.xml 文件进行编辑,如图所示。

找到localRepository 配置,修改为刚才创建的目录,如图所示。注意要将此项配

置移出注释。

保存配置文件后,在Windows 的命令提示符窗口中执行如下命令,检验是否设置成功:

mvn help:system

打开刚才创建的文件夹,查看是否有文件生成,若有文件生成则代表配置已生效,如

图所示。

4. 安装配置Windows上的Hadoop环境变量

(1)下载 Hadoop 的 Windows 二进制包,并设置环境变量。(已下载则不用)

下载 Hadoop Windows Binaries:GitHub 资源:通常可以从https://github.com/cdarlint/winutils 下载对应版本的 hadoop-3.x.x 文件夹。

(2)解压并配置:

将下载的 Hadoop 文件夹解压到一个目录,例如 D:\hadoop-3.1.2。

设置系统环境变量:

变量名:HADOOP_HOME

变量值:D:\hadoop-3.1.32(实际路径)

更新 Path:将 %HADOOP_HOME%\bin 添加到系统的 Path 变量中。

5.IntelliJ IDEA 创建Maven项目

(1)初始化设置,打开IntelliJ IDEA 选择 Customize  点击“ALL settings” 修改文件字符编码

改成 UTF-8

(2)初始化设置,修改Maven 配置

修改Maven的默认配置目录(之前设置的Maven目录)

点击“Apply”再点击“OK”

点击“Plugins”搜索“Chinese”选择第二个,点击“Install”安装中文包

下载完成后点击“Restart IDE”重新启动该软件即可

(3)创建Maven 项目。打开IDEA,新建Maven 项目,如图所示,设置项目名称为helloworld,并设置项目路径,如图所示。

点击“新建项目”创建

点击“Create”

找到设置后,重新更改Maven的目录,点击应用。

找到pom.xml 配置hadoop环境

添加以下红色文本内容到pom.xml中间

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>

    <artifactId>helloworld</artifactId>

<version>1.0-SNAPSHOT</version>

    <dependencies>

    <dependency>

        <groupId>junit</groupId>

        <artifactId>junit</artifactId>

        <version>RELEASE</version>

    </dependency>

    <dependency>

    <groupId>org.apache.hadoop</groupId>

    <artifactId>hadoop-hdfs</artifactId>

        <version>3.1.3</version>

    </dependency>

        <dependency>

            <groupId>org.apache.hadoop</groupId>

            <artifactId>hadoop-client</artifactId>

            <version>3.1.3</version>

        </dependency>

        <dependency>

            <groupId>org.apache.hadoop</groupId>

            <artifactId>hadoop-common</artifactId>

            <version>3.1.3</version>

        </dependency>

        <dependency>

            <groupId>org.apache.logging.log4j</groupId>

            <artifactId>log4j-core</artifactId>

            <version>2.8.2</version>

        </dependency>

</dependencies>

    <properties>

        <maven.compiler.source>8</maven.compiler.source>

        <maven.compiler.target>8</maven.compiler.target>

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    </properties>

</project>

配置完后,点击右上角的“M”

至此,完成创建项目的整个流程。

(4)新建一个java类MkdirDemo

MkdirDemo 类实现 HDFS 上目录和文件的创建、删除操作,并提供遍历目录的功能。

点击“Enter”

编写以下代码:

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

/**
 * HDFS 目录与文件的创建、删除操作示例
 */
public class MkdirDemo {

    // 获取 HDFS 文件系统对象
    public static FileSystem getFileSystem() throws IOException, URISyntaxException {
        Configuration conf = new Configuration();
        URI uri = new URI("hdfs://192.168.47.201:8020");
        return FileSystem.get(uri, conf);
    }

    // 遍历指定目录并打印其下所有文件/目录信息
    public static void list(String dir) throws Exception {
        FileSystem fileSystem = getFileSystem();
        FileStatus[] listStatus = fileSystem.listStatus(new Path(dir));
        for (FileStatus fileStatus : listStatus) {
            boolean isDir = fileStatus.isDirectory();
            String name = fileStatus.getPath().toString();
            System.out.println(isDir + " " + name);
        }
        fileSystem.close(); // 关闭资源
    }

    // 创建目录(支持递归创建多级目录)
    public static void mkdir(String path) throws Exception {
        FileSystem fileSystem = getFileSystem();
        boolean result = fileSystem.mkdirs(new Path(path));
        System.out.println("创建目录 " + path + " : " + (result ? "成功" : "失败"));
        list("/"); // 创建后展示根目录内容
        fileSystem.close();
    }

    // 创建空文件
    public static void create(String path) throws Exception {
        FileSystem fileSystem = getFileSystem();
        fileSystem.create(new Path(path)).close(); // 创建文件后立即关闭输出流
        System.out.println("创建文件 " + path + " 成功");
        list("/");
        fileSystem.close();
    }

    // 删除目录或文件(recursive = true 表示递归删除)
    public static void delete(String path) throws Exception {
        FileSystem fileSystem = getFileSystem();
        boolean result = fileSystem.delete(new Path(path), true);
        System.out.println("删除 " + path + " : " + (result ? "成功" : "失败"));
        list("/");
        fileSystem.close();
    }

    public static void main(String[] args) throws Exception {
        // 创建目录
        mkdir("/bigdata");

        // 创建文件
        create("/demo.txt");

        // 删除目录(若需要)
        // delete("/bigdata");
    }
}

代码功能:在hdfs目录下新建了一个bigdata子目录,创建了一个demo.txt文件

在浏览器输入:192.168.47.201:9870

以上代码执行后无问题,那么恭喜你,已经学会了部署本地开发环境了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值