Hadoop: JPS не может найти установленную Java - PullRequest
2 голосов
/ 21 октября 2011

мои конфигурации

hduser@worker1:/usr/local/hadoop/conf$ jps
The program 'jps' can be found in the following packages:
 * openjdk-6-jdk
 * openjdk-7-jdk
Ask your administrator to install one of them

Я установил Java, хотя

hduser@worker1:/usr/local/hadoop/conf$ java -version
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre10-0ubuntu5)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

hduser@worker1:/usr/local/hadoop/conf$ echo $JAVA_HOME 
/usr/lib/jvm/java-1.6.0-openjdk

, а также устанавливается в conf/hadoop-env.sh

hduser@worker1:/usr/local/hadoop/conf$ cat 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/java-1.6.0-openjdk

Как я могу заставить JPS работать?

Ответы [ 11 ]

9 голосов
/ 14 декабря 2012

Ответ Саураба Саксены выше не является правильным. Чтобы получить jps, вы также должны установить инструменты разработки java-1.6.0-openjdk-devel. На CentOS 6 файл выглядит так: Java-1.6.0-OpenJDK-devel.x86_64

Итак:

yum install java-1.6.0-openjdk*

сделает свое дело (кроме инструментов jdk и dev, кроме инструментов jdk и dev, подхватит демо и javadoc, но вы получите полный набор инструментов командной строки).

Для Ubuntu:

apt-get install java-1.6.0-openjdk-devel 

Для всех этих примеров вы можете попробовать JDK7 (просто заменить 1.7), и по состоянию на декабрь 2012 года Hadoop довольно стабильно работает без библиотек Oracle. Смотри: http://openjdk.java.net/install/

6 голосов
/ 15 сентября 2013

Это также может быть причиной.Это просто: посмотреть, работает ли $ javac.Примечание: $ java может работать, проверьте javac.Если $ javac не работает, то $ jps также не будет работать.Поэтому вы можете захотеть сделать что-то вроде

export PATH = $ PATH: $ JAVA_HOME / bin

и попробуйте сноваоба javac и jps.удачи.

4 голосов
/ 11 мая 2014

Я нашел решение для отсутствующей команды JPS.Я устанавливал Hadoop 1.x на машину с Ubuntu в псевдораспределенном режиме.Я использовал Java-7-openJDK для обеспечения команд и инструментов Java.По какой-то причине для версии 6 был java-1.6.0-openjdk-devel , но для версии 7, а именно для дистрибутивов Debian и Ubuntu, их не было.Я не уверен, верно ли то же самое для Fedora и Redhat.Так что лучшим ответом в то время было использование команды linux

ps -aux |grep java

Я ненавидел это делать, потому что демоны Hadoop запускаются с таким количеством опций, что каждый результат заполняет больше, чем экран.Помимо того, что Java работает, невозможно увидеть, какие демоны Hadoop работают.Поэтому я придумал короткую фразу в виде однострочного сценария

Это мой сценарий JPS для открытого JDK

! # / Bin / bash

ps -вспомогательный |Греп Ява |awk '{print $ 12}'

END

Я сохранил эти две строки в файле с именем jps и сохранил его в каталоге hadoop / bin с разрешениями на исполнение

**Вот результат работы скрипта hduser @ localhsot # ./jps

-Dproc-namenode

-Dproc-datanode

-Dproc-JobTracker

-Dproc-TaskTracker **

3 голосов
/ 21 октября 2011

Кажется, что в open-jdk нет jps. Для hadoop установка sun-jvm была бы лучшим выбором.

2 голосов
/ 29 июня 2015

попробуйте это ....

sudo apt-get install openjdk-7-jdk
1 голос
/ 19 февраля 2017

Для Java 8 в Ubuntu используйте следующую команду.sudo apt install openjdk-8-jdk-headless

1 голос
/ 08 декабря 2015

Используйте sudo apt-get install openjdk-7-jdk, а не openjdk-7-jre.,

1 голос
/ 31 октября 2014

Я хотел бы обновить тему для тех, кто столкнулся бы с той же проблемой.

JDK8 также не имеет команды "jps", но JDK7 имеет ее.

root@tahirpc:/home/tahir# java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (**7u71-2.5.3-0ubuntu0.14.04.1**)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

root@tahirpc:~# jps
5036 NodeManager
4368 NameNode
4912 ResourceManager
5315 Jps
4773 SecondaryNameNode
4487 DataNode
0 голосов
/ 21 августа 2014

Откройте диспетчер пакетов Syneptics и установите пакет openjdk-7-jdk и openjdk-6-jdk.После того как jps будет работать

0 голосов
/ 28 мая 2013

Я нашел это

rpm -qlp java-1.6.0-openjdk-devel-1.6.0.0-1.39.1.9.7.el6.x86_64.rpm | grep jps
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/jps

тогда

rpm -i java-1.6.0-openjdk-devel-1.6.0.0-1.39.1.9.7.el6.x86_64.rpm
...