=======================================================================
在安装hadoop后,运行hadoop时提示
ERROR: JAVA_HOME is not set and could not be found.
需要配置java路径,于是便重新安装openjdk 1.8
=======================================================================
[....]$yum list java-1.8* #查看openjdk1.8有哪些组件
java-1.8.0-openjdk.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.201.b09-2.el7_6 updates
..........
java-1.8.0-openjdk-src-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.201.b09-2.el7_6 updates
#安装全部
[....]$ yum install java-1.8.0-openjdk* -y
已安装:
java-1.8.0-openjdk.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-accessibility-debug.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-debug.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-demo.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-javadoc-zip-debug.noarch 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-src.x86_64 1:1.8.0.201.b09-2.el7_6
java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.201.b09-2.el7_6
其实这时候java的环境变量已经自动被配置好了,但是由于hadoop要指定JAVA_HOME路径才行,于是就转到openjdk的安装目录下
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
接下来就可以配置 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置
vim ~/.bashrc
在文件末尾添加
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
最后,执行使配置生效
source ~/.bashrc # 使变量设置生效
接下来,配置hadoop中的JAVA环境变量
在hadoop-env.sh文件中进行编辑
[hadoop@localhost hadoop-3.1.2]$ vim ./etc/hadoop/hadoop-env.sh
#在图中所示的位置添加java的环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
执行hadoop命令,查看配置是否有效
hadoop@localhost hadoop-3.1.2]$ ./bin/hadoop version
#正常显示
Hadoop 3.1.2
Source code repository https://github.com/apache/hadoop.git -r 1019dde65bcf12e05ef48ac71e84550d589e5d9a
Compiled by sunilg on 2019-01-29T01:39Z
Compiled with protoc 2.5.0
From source with checksum 64b8bdd4ca6e77cce75a93eb09ab2a9
This command was run using /usr/local/hadoop-3.1.2/share/hadoop/common/hadoop-common-3.1.2.jar
[hadoop@localhost hadoop-3.1.2]$ vim ./etc/hadoop/hadoop-env.sh
[hadoop@localhost hadoop-3.1.2]$ ./bin/hadoop version
Hadoop 3.1.2
Source code repository https://github.com/apache/hadoop.git -r 1019dde65bcf12e05ef48ac71e84550d589e5d9a
Compiled by sunilg on 2019-01-29T01:39Z
Compiled with protoc 2.5.0
From source with checksum 64b8bdd4ca6e77cce75a93eb09ab2a9
This command was run using /usr/local/hadoop-3.1.2/share/hadoop/common/hadoop-common-3.1.2.jar