在hadoop102 安装JDK
注意
:安装JDK之前.一定要确保提前删除了虚拟机自带的JDK,详细步骤可以参考 juejin.cn/post/743345…
用XShell传输工具将JDK导入到opt目录下面的software文件夹下面
注意:文件夹权限问题,因为没有修改权限,可能会导致xftp传输文件时转态为错误
可以使用
sudo chown -R username:username 文件夹路径
进行用户权限修改
[muyi@hadoop102 opt]$ ll 总用量 0 drwxr-xr-x. 2 muyi muyi 6 11月 5 10:40 module drwxr-xr-x. 2 root root 6 10月 31 2018 rh drwxr-xr-x. 2 root root 6 11月 10 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 11月 5 10:40 module drwxr-xr-x. 2 root root 6 10月 31 2018 rh drwxr-xr-x. 2 muyi muyi 6 11月 10 00:49 software [muyi@hadoop102 opt]$
[muyi@hadoop102 software]$ ll
总用量 520600
-rw-rw-r--. 1 muyi muyi 338075860 11月 10 07:24 hadoop-3.1.3.tar.gz
-rw-rw-r--. 1 muyi muyi 195013152 11月 10 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 4月 2 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 4月 2 2019 bin
-r--r--r--. 1 muyi muyi 3244 4月 2 2019 COPYRIGHT
drwxr-xr-x. 3 muyi muyi 132 4月 2 2019 include
-rw-r--r--. 1 muyi muyi 5213825 3月 14 2019 javafx-src.zip
drwxr-xr-x. 5 muyi muyi 185 4月 2 2019 jre
drwxr-xr-x. 5 muyi muyi 245 4月 2 2019 lib
-r--r--r--. 1 muyi muyi 44 4月 2 2019 LICENSE
drwxr-xr-x. 4 muyi muyi 47 4月 2 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
我们在文件中可以查看到:
这段代码是一个 Bash 脚本片段,通常用于在登录时或初始化 shell 环境时加载
/etc/profile.d
目录下的脚本文件。
这段代码的主要作用是:
-
遍历
/etc/profile.d
目录下的所有.sh
脚本文件以及sh.local
文件。 -
检查每个文件是否可读。
-
根据当前 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
逐行解释
- 注释行:
-
#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
环境变量:
-
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 可执行文件(如
java
、javac
等),而不需要指定完整的路径。
- 注释行:
#JAVA_HOME
用于说明接下来的代码块的用途。 - 设置
JAVA_HOME
环境变量:export JAVA_HOME=/opt/module/jdk1.8.0_212
将JAVA_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目录结构
- (1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本
- (2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
- (3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
- (4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
- (5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例