安装完Hadoop之后,命令行输入hadoop却找不到命令的解决方法
一、大多数原因是没有配置环境变量
解决方法
1. cd /etc/profile
2. 把这三条加到proflie文件的最后
export
JAVA_HOME=XXXX(在安装了jdk的前提下,
echo
$JAVA_HOME
可以查看得到)
export
HADOOP_HOME=XXX(hadoop的安装路径)
export
PATH=.:
$HADOOP_HOME
/bin:
$JAVA_HOME
/bin:
$PATH
3.完成后保存文件, 更新环境变量
4. source /etc/profile
主要需要切换到root账户,否则没有权限 sudo su
假设如下:
hadoop安装目录:
/home/big_data/hadoop-2.7.3
hadoop bin目录
/home/big_data/hadoop-2.7.3/bin
# Java安装目录
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64
则需要在vi /etc/profile 下面添加如下三行命令
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64 export HADOOP_HOME=/home/big_data/hadoop-2.7.3 export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
二、其他:如何获得Java安装路径的方法
0、查看Java安装版本的方法
如果没有安装Java环境的话,可能会提示“ Java 不是内部或外部命令,也不是可运行的程序或批处理文件”等提示信息。这样的话,就需要安装Java虚拟机了,配置Java环境了。5、当然,如果确定已经安装了Java环境,但是在命令行中键入"Java"或者"Javac" 也是提示命令错误的话,那可能就是你的环境变量配置的有问题了。
[root@habia]# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
1、echo $JAVA_HOME
使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径
2、java -verbose,命令行的最后,显示的就是jdk安装的路径:
[root@habia]# java -verbose …………………………………………………………………… [Loaded java.lang.Shutdown from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/rt.jar] [Loaded java.lang.Shutdown$Lock from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/lib/rt.jar] 其中/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64就是java的按照目录 如下: [root@habia]# ls /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64 bin include jre lib tapset
3、which java
首先要申明一下which java是定位不到安装路径的。which java定位到的是java程序的执行路径。网上的资料都是人云亦云,完全不去思考。那么怎么定位到java的安装路径呢?下面我们来看看例子吧,如下所示:
[root@habia ~]# which java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/bin/java [root@haibian-mp-hadoop06-prd-dx ~]# which /usr/bin/java /usr/bin/java [root@habia ~]# ls -lrt /usr/bin/java lrwxrwxrwx 1 root root 22 Mar 10 2017 /usr/bin/java -> /etc/alternatives/java [root@habia ~]# ls -lrt /etc/alternatives/java lrwxrwxrwx 1 root root 73 Mar 10 2017 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre/bin/java [root@habia ~]# cd /usr/lib/jvm [root@habia jvm]# ls java java-1.8.0 java-1.8.0-openjdk java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64 java-openjdk jre jre-1.8.0 jre-1.8.0-openjdk jre-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64 jre-openjdk
其中/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/就是java的安装目录
参考:
https://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html