Hadoop 是基于 Java 编写的编程框架,所以必须先要有 Java 运行环境(JRE),同时为了之后的开发与调试需要,推荐安装 Java 开发工具包(JDK),JDK 中已包含了 JRE。
yum install java
yum安装的java,需要先查找 java 可执行程序的路径
$ which java
/usr/bin/java
再查看下该执行文件是否是链接,
使用 readlink 查找链接文件的链接目标
$ readlink -f /usr/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre/bin/java
-f 会顺着链接链找到最终的实际物理位置,我们实际要找的是 Java 安装目录(主目录),而不是可执行程序 java 的执行目录。
去掉 bin/java 后的路径才是我们要找的 Java 主目录(也就是将要设置的JAVA_HOME)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre/
最后我们要设置环境变量 JAVA_HOME,我们可以选择静态设置 JAVA_HOME ,这样下次更改 Java 版本的话需要重新设置新的 JAVA_HOME。
静态设置 JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre/
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
看看应该生效了:
$ java -version
openjdk version “1.8.0_352”
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)
安装hadoop:wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
tar -zxvf hadoop-2.10.1.tar.gz -C /opt/
mv /opt/hadoop-2.10.1 /opt/hadoop
echo 'export HADOOP_HOME=/opt/hadoop/' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile
执行以下命令,修改配置文件yarn-env.sh和hadoop-env.sh
echo “export JAVA_HOME=/usr/java8” >> /opt/hadoop/etc/hadoop/yarn-env.sh
echo “export JAVA_HOME=/usr/java8” >> /opt/hadoop/etc/hadoop/hadoop-env.sh
hadoop version
Hadoop 2.10.1
Subversion https://github.com/apache/hadoop -r 1827467c9a56f133025f28557bfc2c562d78e816
Compiled by centos on 2020-09-14T13:17Z
Compiled with protoc 2.5.0
From source with checksum 3114edef868f1f3824e7d0f68be03650
This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-2.10.1.jar