saket
saket

Reputation: 704

Hadoop: Cannot use Jps command

The problem is

  hduser@saket-K53SM:/usr/local/hadoop$ jps
  The program 'jps' can be found in the following packages:
  * openjdk-6-jdk
  * openjdk-7-jdk
 Try: sudo apt-get install <selected package>

My configuration is

hduser@saket-K53SM:/usr/local/hadoop$ java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)

set up conf/hadoop-env.sh

hduser@saket-K53SM:/usr/local/hadoop$ cat conf/hadoop-env.sh | grep JAVA_HOME
# The only required environment variable is JAVA_HOME.  All others are
# set JAVA_HOME in this file, so that it is correctly defined on
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_33/

I know there is a question (http://stackoverflow.com/questions/7843422/hadoop-jps-can-not-find-java-installed) similar to this one. But i have installed Sun jdk here. So any help would be appreciated..

Upvotes: 16

Views: 62758

Answers (7)

Aey Varistha
Aey Varistha

Reputation: 81

Use this command if you cannot use jps

ps -aux | grep java | awk '{print $12}'

It will show files as:

shows file like this in the picture

Upvotes: 8

DDukDDak99
DDukDDak99

Reputation: 361

on CentOS7, I fixed that problem when I installed java-devel

# yum install java-1.8.0-openjdk-devel.x86_64

Upvotes: 3

Shreyas Mangave
Shreyas Mangave

Reputation: 1

If you are using openjdk then you have install additional headless jre try:

sudo apt-get install java-1.8.0-openjdk-headless

It worked for me,you can have to give correct openjdk version mine was 1.8

Upvotes: 0

Alex Nano
Alex Nano

Reputation: 86

JPS seems (on amx linux 64 / centos at least) to be available via ant.

sudo yum install ant

and you can run jps

Upvotes: 4

shawnzhu
shawnzhu

Reputation: 7585

did you install the package java-1.6.0-openjdk-devel who provides the jps tool?

$ sudo yum provides /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jps
Loaded plugins: product-id, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity
1:java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64 : OpenJDK Development Environment
Repo        : installed
Matched from:
Other       : Provides-match: /usr/lib/jvm/java-1.6.0-openjdk.x86_64/bin/jps

Upvotes: 9

Anwar
Anwar

Reputation: 1805

This problem is caused since you have installed JDK from Oracle (may be). You can fix this problem by using update-alternatives program to link jps to standard path directory. Use this command to fix this in a terminal

 sudo update-alternatives --install /usr/bin/jps jps /usr/lib/jvm/jdk1.6/bin/jps 1

Use the actual jps program path in the appropriate jdk (your version of jdk) instead of jdk1.6 which is specific to me. Hope this will help.

Upvotes: 6

Thomas Jungblut
Thomas Jungblut

Reputation: 20969

That is actually not a Hadoop problem. Hadoop does not use JPS.

If JPS can't be found, you have to put it into your path or create an alias. The JPS executable can be found under $JAVA_HOME/bin/jps.

The alias for example could be:

alias jps='/usr/lib/jvm/jdk1.6.0_33/bin/jps'

Or if you don't care about using JPS, you could instead do a

ps aux | grep java

which will approx. give you the same result ;)

Upvotes: 22

Related Questions