Created 11-13-2016 09:09 AM
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)
Created 11-13-2016 11:15 AM
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:
Created 11-13-2016 12:05 PM
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.
Created 11-13-2016 01:07 PM
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
.