最近在centos中给Hadoop配置java环境时发现一个问题,即在centos7中(目测其他版本的Linux也一样)是有java的。在使用java -version命令是可以正常看到java版本,但跳过配置java环境的话,在后面启动Hadoop又会报告java路径无效,使用vi /etc/profile也看不到JAVA_HOME。
我去百度了Hadoop配置java环境的博客,几乎所有的博主给出的步骤都是把原本的java卸载,再重新下载安装的教程。不免让人心头一紧,毕竟去oracle官网下载jdk得看人家的脸色,不仅是全英文的网页,而且还让你注册登陆。过程属实不友好。所以,我本着不向垄断资本低头的原则,搜集了一下如何配置jJAVA_HOME。
相信这一步骤对资深Linux玩家来说是小菜一碟,但对于和我一样的小白来说,还是有必要提一下。网上大家给我查找路径很多,有whereis java、which java等。我试了一下,这个过程网上给的步骤还是很靠谱的,值得再次重复的是,用whereis java和which java第一次得到的路径是软连接。具体的 *** 作步骤如下:
第一次,得到的是软连接,按着这个路径找不到java文件。
kris@kris-PC:~/Desktop$ which java /usr/bin/java
使用ls -lrt命令,可以向下深入。
kris@kris-PC:~/Desktop$ ls -lrt /usr/bin/java lrwxrwxrwx 1 root root 22 11月 19 15:23 /usr/bin/java -> /etc/alternatives/java
当得到到一个真实的路径,一般就是了。
kris@kris-PC:~/Desktop$ ls -lrt /etc/alternatives/java lrwxrwxrwx 1 root root 46 11月 19 15:23 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
例如我的电脑中,得到的ava安装路径就是
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
我在Ubuntu和centos中试了一下,两个系统的java安装路径是大同小异的,不一样的是我用的Ubuntu是国产魔改的deepin,在路径中多了jre文件夹,在配置java_home路径时要注意。
使用vi /etc/profile命令,编辑profile,在末尾加上
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre export PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH
注意的是,第一行
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre
路径一直到bin目录的父目录为止。之所以再次提醒,是因为我在另一个Linux系统里的路径,没有最后的那个jre目录。此外,把jre放到PATH里,(例如:export PATH=$JAVA_HOME/jre/bin:$PATH)我个人不提倡这样做。
现在,使用echo JAVA_HOME命令,就行看到相关输出了。
echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/jre
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)