Hadoop之安装JDK & Hadoop

84 阅读2分钟

在hadoop102 安装JDK

注意:安装JDK之前.一定要确保提前删除了虚拟机自带的JDK,详细步骤可以参考 juejin.cn/post/743345…

用XShell传输工具将JDK导入到opt目录下面的software文件夹下面

注意:文件夹权限问题,因为没有修改权限,可能会导致xftp传输文件时转态为错误

图片.png 可以使用sudo chown -R username:username 文件夹路径进行用户权限修改

[muyi@hadoop102 opt]$ ll
总用量 0
drwxr-xr-x. 2 muyi muyi 6 115 10:40 module
drwxr-xr-x. 2 root root 6 1031 2018 rh
drwxr-xr-x. 2 root root 6 1110 00:49 software
[muyi@hadoop102 opt]$ sudo chown -R muyi:muyi /opt/software/
[muyi@hadoop102 opt]$ ll
总用量 0
drwxr-xr-x. 2 muyi muyi 6 115 10:40 module
drwxr-xr-x. 2 root root 6 1031 2018 rh
drwxr-xr-x. 2 muyi muyi 6 1110 00:49 software
[muyi@hadoop102 opt]$ 

图片.png

[muyi@hadoop102 software]$ ll
总用量 520600
-rw-rw-r--. 1 muyi muyi 338075860 1110 07:24 hadoop-3.1.3.tar.gz
-rw-rw-r--. 1 muyi muyi 195013152 1110 07:24 jdk-8u212-linux-x64.tar.gz
[muyi@hadoop102 software]$ 

JDK安装

解压JDK安装包

[muyi@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

查看文件

[muyi@hadoop102 software]$ cd ../module/
[muyi@hadoop102 module]$ ll
总用量 0
drwxr-xr-x. 7 muyi muyi 245 42 2019 jdk1.8.0_212
[muyi@hadoop102 module]$ cd jdk1.8.0_212/
[muyi@hadoop102 jdk1.8.0_212]$ ll
总用量 25984
drwxr-xr-x. 2 muyi muyi     4096 42 2019 bin
-r--r--r--. 1 muyi muyi     3244 4月   2 2019 COPYRIGHT
drwxr-xr-x. 3 muyi muyi      132 42 2019 include
-rw-r--r--. 1 muyi muyi  5213825 3月  14 2019 javafx-src.zip
drwxr-xr-x. 5 muyi muyi      185 42 2019 jre
drwxr-xr-x. 5 muyi muyi      245 42 2019 lib
-r--r--r--. 1 muyi muyi       44 4月   2 2019 LICENSE
drwxr-xr-x. 4 muyi muyi       47 42 2019 man
-r--r--r--. 1 muyi muyi      159 4月   2 2019 README.html
-rw-r--r--. 1 muyi muyi      424 4月   2 2019 release
-rw-r--r--. 1 muyi muyi 21104792 4月   2 2019 src.zip
-rw-r--r--. 1 muyi muyi   112748 3月  14 2019 THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r--. 1 muyi muyi   149725 4月   2 2019 THIRDPARTYLICENSEREADME.txt
[muyi@hadoop102 jdk1.8.0_212]$ 

配置环境变量

[muyi@hadoop102 jdk1.8.0_212]$ sudo vim /etc/profile

我们在文件中可以查看到:

图片.png 这段代码是一个 Bash 脚本片段,通常用于在登录时或初始化 shell 环境时加载 /etc/profile.d 目录下的脚本文件。

这段代码的主要作用是:

  1. 遍历 /etc/profile.d 目录下的所有 .sh 脚本文件以及 sh.local 文件

  2. 检查每个文件是否可读

  3. 根据当前 shell 是否处于交互模式来决定是否显示脚本的执行结果

    • 如果是交互模式,显示脚本的执行结果。
    • 如果不是交互模式,静默加载脚本,不显示输出。
[muyi@hadoop102 jdk1.8.0_212]$ cd /etc/profile.d/
[muyi@hadoop102 profile.d]$ ll
总用量 84
-rw-r--r--. 1 root root  771 11 17 2020 256term.csh
-rw-r--r--. 1 root root  841 11 17 2020 256term.sh
-rw-r--r--. 1 root root 1348 10  2 2020 abrt-console-notification.sh
-rw-r--r--. 1 root root  660 4   1 2020 bash_completion.sh
-rw-r--r--. 1 root root  196 3  25 2017 colorgrep.csh
-rw-r--r--. 1 root root  201 3  25 2017 colorgrep.sh
-rw-r--r--. 1 root root 1741 11 16 2020 colorls.csh
-rw-r--r--. 1 root root 1606 11 16 2020 colorls.sh
-rw-r--r--. 1 root root   80 4   1 2020 csh.local
-rw-r--r--. 1 root root  294 6  18 20:25 flatpak.sh
-rw-r--r--. 1 root root 1706 11 17 2020 lang.csh
-rw-r--r--. 1 root root 2703 11 17 2020 lang.sh
-rw-r--r--. 1 root root  123 1  14 2022 less.csh
-rw-r--r--. 1 root root  121 1  14 2022 less.sh
-rw-r--r--. 1 root root 1202 4   2 2020 PackageKit.sh
-rw-r--r--. 1 root root   81 4   1 2020 sh.local
-rw-r--r--. 1 root root  105 12 16 2020 vim.csh
-rw-r--r--. 1 root root  269 12 16 2020 vim.sh
-rw-r--r--. 1 root root 2092 10  1 2020 vte.sh
-rw-r--r--. 1 root root  164 1  28 2014 which2.csh
-rw-r--r--. 1 root root  169 1  28 2014 which2.sh
[muyi@hadoop102 profile.d]$ 

我们在/etc/profile.d下创建一个我们自己的文件my_env.sh,不要修改系统自带的文件

[muyi@hadoop102 profile.d]$ sudo vim my_env.sh

在这个文件中定义环境变量

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
PATH=$PATH:$JAVA_HOME/bin

逐行解释

  1. 注释行
  •     #JAVA_HOME
    
    • 这是一行注释,通常用于说明接下来的代码块的用途或含义。
    • 在 Bash 脚本中,以 # 开头的行会被解释器忽略。
    • 这里的注释表明接下来的代码是用来设置 JAVA_HOME 环境变量的。
  • 设置 JAVA_HOME 环境变量

  •     export JAVA_HOME=/opt/module/jdk1.8.0_212
    
    • export 是一个 Bash 内置命令,用于将变量导出为环境变量,使其对当前 shell 会话及其子进程可见。
    • JAVA_HOME 是一个常用的环境变量,用于指定 Java 安装目录的路径。
    • /opt/module/jdk1.8.0_212 是具体的 Java 安装路径。这个路径可以根据你的实际安装位置进行调整。
    • 设置 JAVA_HOME 环境变量后,其他程序可以通过这个变量找到 Java 安装目录,从而正确地调用 Java 相关的工具和库。
  • 更新 PATH 环境变量

  1.   export PATH=$PATH:$JAVA_HOME/bin
    
    • PATH 是一个环境变量,用于指定系统查找可执行文件的目录列表。
    • export PATH=$PATH:$JAVA_HOME/bin 这行代码将 JAVA_HOME/bin 目录添加到现有的 PATH 环境变量中。
    • :$JAVA_HOME/bin 表示将 JAVA_HOME/bin 目录追加到现有 PATH 的末尾。
    • 这样做是为了确保系统可以在命令行中直接调用 Java 可执行文件(如 javajavac 等),而不需要指定完整的路径。
  • 注释行#JAVA_HOME 用于说明接下来的代码块的用途。
  • 设置 JAVA_HOME 环境变量export JAVA_HOME=/opt/module/jdk1.8.0_212JAVA_HOME 设置为 Java 安装目录的路径。
  • 更新 PATH 环境变量export PATH=$PATH:$JAVA_HOME/bin 将 Java 的可执行文件目录添加到 PATH 中,以便在命令行中直接调用 Java 工具。

但是,这样后就可以使用了吗?

[muyi@hadoop102 profile.d]$ java
bash: java: 未找到命令...
[muyi@hadoop102 profile.d]$ 

很明显,并不能,需要重新加载 /etc/profile 文件中的配置以能够使用

[muyi@hadoop102 profile.d]$ source /etc/profile
[muyi@hadoop102 profile.d]$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
[muyi@hadoop102 profile.d]$ 

这样配置的环境变量就可以使用了

Hadoop安装

解压缩hadoop安装包

[muyi@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

查看文件地址

[muyi@hadoop102 hadoop-3.1.3]$ pwd
/opt/module/hadoop-3.1.3

配置环境变量

[muyi@hadoop102 hadoop-3.1.3]$ sudo vim /etc/profile.d/my_env.sh

添加以下内容

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

更新环境变量使配置生效

[muyi@hadoop102 hadoop-3.1.3]$ source /etc/profile

验证是否安装成功

[muyi@hadoop102 hadoop-3.1.3]$ hadoop version
Hadoop 3.1.3
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r ba631c436b806728f8ec2f54ab1e289526c90579
Compiled by ztang on 2019-09-12T02:47Z
Compiled with protoc 2.5.0
From source with checksum ec785077c385118ac91aadde5ec9799
This command was run using /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-common-3.1.3.jar
[muyi@hadoop102 hadoop-3.1.3]$ 

hadoop目录结构

图片.png

  • (1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
  • (2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
  • (3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
  • (4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
  • (5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例