Support Questions

Find answers, ask questions, and share your expertise

Running jps command shows process information unavailable

avatar
Rising Star

Hi Team,

Running jps command in edge node shows "Process Information Unavailable" but when I run the same command in master node, it shows all the process clearly. Any help would be appreciated.

[root@edge1 ~]# jps
20712 -- process information unavailable
23022 -- process information unavailable
21612 -- process information unavailable
20888 -- process information unavailable
22085 -- process information unavailable
22650 -- process information unavailable
19360 -- process information unavailable
22768 -- process information unavailable
22324 -- process information unavailable
29348 -- process information unavailable
20591 -- process information unavailable
19212 -- process information unavailable
24930 Main
20433 -- process information unavailable
22509 -- process information unavailable
22878 -- process information unavailable
20692 -- process information unavailable
[root@edge1 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
[root@edge1 ~]# echo $JAVA_HOME
/usr/java/jdk1.7.0_67
[root@edge1 ~]# which jps
/usr/java/jdk1.7.0_67/bin/jps

[root@mst1 ~]# jps
5799 Elasticsearch
20959 RunJar
3493 SparkSubmit
15483 JobHistoryServer
14100 AmbariServer
21783 jar
31019 Jps
4617 EmbeddedServer
8597 HMaster
2859 Main
4415 JournalNode
12748 Bootstrap
6858 NameNode
30657 UnixAuthenticationService
9303 RunJar
10945 HistoryServer
4698 QuorumPeerMain
11951 ApplicationHistoryServer
19142 RunJar
5819 DFSZKFailoverController
16870 ResourceManager
10152 HRegionServer
[root@mst1 ~]# echo $JAVA_HOME
/usr/java/jdk1.7.0_67
[root@mst1 ~]# which java
/usr/java/jdk1.7.0_67/bin/java
[root@mst1 ~]# which jps
/usr/java/jdk1.7.0_67/bin/jps
[root@mst1 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
3 REPLIES 3

avatar

@Rahul Buragohain

If you are using OpenJDK then i guess there are some known issues with few versions of OpenStack where you will need to run the "jps" (jstack) kind of utilities only using the same user account.

For example if Hadoop components (like DataNode, NameNode) are running using OpenJDK then you will need to switch the user first before triggering the jps command:

Example:

java -version
su - hdfs
jps -v
java -version

.

Also see:

https://bugs.openjdk.java.net/browse/JDK-8143618

https://bugs.openjdk.java.net/browse/JDK-8073858

avatar
Rising Star

@jss

I am using oracle jdk 1.7 and hadoop components are also using jdk 1.7 version.

[root@mst1 hadoop]# su - hdfs
[hdfs@mst1 ~]$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

[root@edge1 ~]# su - hdfs
[hdfs@edge1 ~]$ java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

Java versions are correct but still jps not working in edge node.

avatar

@Rahul Buragohain

Some version of Oracle JDK also might be affected with this bug. However following are some additional information about this issue.

When JPS command is executed as root, it tries to read the process information from "/tmp/hsperfdata_$username_$ProcessID" file. Before reading the process file or directory, it checks if the file or directory is secure or not. It opens the user directory and match the UID of that directory (which belong to other user) with the current process(root-jps) effective ID,which gets fail and process returns failure.

Also what output (java path) do you see when you are running the following command ?

ps -ef | grep java 

.