java环境配置及jps命令未找到

最近基于CentOS 7下安装hadoop集群,碰到了java环境变量的问题,同时也出现了jps命令无法找到的情况。简要描述一下基于CentOS 7下Java环境的配置及jps命令未找到的处理。

一、Java环境配置

在安装好了CentOS 7之后,Java环境已经安装好(如没有,则选择的安装类型不包括)
如下,我们可以查看Java的版本
[root@namenode ~]# java -version
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)

[root@namenode ~]# which java
/usr/bin/java

如下Java的环境变量并没有配置,因此我们需要设定环境变量
那JAVA_HOME到底该设置哪个路径呢?
[root@namenode ~]# env |grep JAVA 

[root@namenode ~]# ls -hltr /usr/bin/java
lrwxrwxrwx. 1 root root 22 Nov 16 17:17 /usr/bin/java -> /etc/alternatives/java
[root@namenode ~]# cd /etc/alternatives
[root@namenode alternatives]# ls -hltr java
lrwxrwxrwx. 1 root root 73 Nov 16 17:17 java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java

从上面可只java命令又是一个软链,指向了另外一个地方
[root@namenode bin]# ls -hltr /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/
total 184K
-rwxr-xr-x. 1 root root 101K Oct 20 22:27 unpack200
-rwxr-xr-x. 1 root root 7.3K Oct 20 22:27 tnameserv
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 servertool
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 rmiregistry
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 rmid
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 policytool
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 pack200
-rwxr-xr-x. 1 root root 7.3K Oct 20 22:27 orbd
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 keytool
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 jjs
-rwxr-xr-x. 1 root root 7.2K Oct 20 22:27 java

上面的位置包含了一些文件,不过命令数量不多
下面我们切换到/usr/lib/jvm
[root@namenode alternatives]# cd /usr/lib/jvm
[root@namenode jvm]# ls
java jre-1.7.0
java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64 jre-1.7.0-openjdk
java-1.8.0 jre-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
java-1.8.0-openjdk jre-1.8.0
java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64 jre-1.8.0-openjdk
java-openjdk jre-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
jre jre-openjdk

[root@namenode jvm]# ls -hltr java-1.8.0-openjdk
lrwxrwxrwx. 1 root root 40 Nov 16 17:17 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
上面又是一个软链,头都绕晕了。

[root@namenode bin]# cd /etc/alternatives/java_sdk_1.8.0_openjdk
[root@namenode java_sdk_1.8.0_openjdk]# ls
bin include jre lib tapset
[root@namenode java_sdk_1.8.0_openjdk]# cd bin
[root@namenode bin]# ls |wc -l
41

通过上面的排查,我们可以设定JAVA_HOME为/etc/alternatives/java_sdk_1.8.0_openjdk
[root@namenode bin]# vim /etc/profile.d/java.sh
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0_openjdk
export PATH=$PATH:$JAVA_HOME

[root@namenode bin]# env |grep JAVA_HOME
JAVA_HOME=/etc/alternatives/java_sdk_1.8.0_openjdk

二、jps命令无法找到

[root@namenode ~]# jps
bash: jps: command not found...
[root@namenode ~]# find / -name jps
find: ‘/run/user/1001/gvfs’: Permission denied
[root@namenode ~]# rpm -qa |grep -i jdk
java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64

[root@namenode ~]# yum list *openjdk-devel*

需要安装openjdk-devel包
[root@namenode ~]# yum install java-1.8.0-openjdk-devel.x86_64
[root@namenode ~]# which jps
/usr/bin/jps

[root@namenode ~]# jps
12995 Jps
10985 ResourceManager
11179 NodeManager
10061 NameNode
10301 DataNode
10655 SecondaryNameNode

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏康怀帅的专栏

Travis CI 构建 GitBook 实践

本文只提供思路,具体实现请查看本人博客的其他文章。务必对 Travis CI 基础知识 了解之后再阅读本文。 刚开始在 Travis CI 中从零开始搭建环境,...

45660
来自专栏拂晓风起

windows server 2003 新安装IIS后出现 service unavailable

15520
来自专栏腾讯云TStack专栏

qemu-kvm中vcpu虚拟化到底是咋整的?

一句话总结 实例化一个vcpu就是在hostOS中创建了一个线程,线程里有个while循环,循环里不停的调用kvm_cpu_exec方法,kvm_cpu_e...

792100
来自专栏一英里广度一英寸深度的学习

Hadoop HDFS分布式文件系统Docker版

  如果你要在本机做开发,配置IDE环境,想要连接到Docker中,推荐使用Docker toolBOX。docker for mac 版本没有docker0网...

67320
来自专栏轻量级微服务

Kubernetes 环境搭建 - CentOS

三台 CentOS 7.4 服务器:kube1 、kube2 、kube3 ,配置:2 核 16G

11710
来自专栏熊二哥

SpringBoot详细研究-04部署测试与监控

这部分的内容实际就是devops的主要工作内容,当然一名合格的程序要也需要掌握这部分的知识。 ? ? 热部署 简单来说,在开发时,修改了任何的代码,I...

26090
来自专栏程序小工

【Docker】--安装与配置

docker 是 linux 虚拟化技术,能够一键式搭建开发环境,并且能保证运维、开发、上线部署的环境完全一致,避免了运行环境差异性带来的问题。 具有简单、轻...

14830
来自专栏bboysoul

使用docker-machine在vmware vsphere上创建docker虚拟机

这个其实没什么好说的,我就是为了记录一下创建的过程,如果不会使用docker-machine。

16220
来自专栏小狼的世界

Kubernetes中Pod的健康检查

我们先来看一下Kubernetes的架构图,每个Node节点上都有 kubelet ,Container Probe 也就是容器的健康检查是由 kubelet ...

37110
来自专栏用户画像

中断向量 中断向量表

1、中断标识码(中断类型号):由硬件(通常是中断控制器)产生,以标识不同的中断源。

12530

扫码关注云+社区

领取腾讯云代金券