安装完Hadoop之后,命令行输入hadoop却找不到命令的解决方法

安装完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

猜你喜欢

转载自blog.csdn.net/helloxiaozhe/article/details/80689680