Подтвердить что ты не робот

Hadoop: нельзя использовать команду Jps

Проблема

  [email protected]:/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>

Моя конфигурация

[email protected]:/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)

настроить conf/hadoop-env.sh

[email protected]:/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/

Я знаю, что есть вопрос (http://stackoverflow.com/info/7843422/hadoop-jps-can-not-find-java-installed), похожий на этот. Но я установил Sun jdk здесь. Поэтому любая помощь будет оценена.

4b9b3361

Ответ 1

На самом деле это не проблема Hadoop. Hadoop не использует JPS.

Если JPS не найден, вы должны поместить его в свой путь или создать псевдоним. Исполняемый файл JPS можно найти в разделе $JAVA_HOME/bin/jps.

Псевдоним, например, может быть:

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

Или, если вы не заботитесь об использовании JPS, вместо этого вы можете сделать

ps aux | grep java

прибл. дать вам тот же результат;)

Ответ 2

Вы установили пакет java-1.6.0-openjdk-devel, который предоставляет инструмент jps?

$ 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

Ответ 3

Эта проблема вызвана тем, что вы установили JDK из Oracle (может быть). Вы можете исправить эту проблему, используя update-alternatives программу, чтобы связать jps с каталогом стандартных путей. Используйте эту команду, чтобы исправить это в терминале

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

Используйте фактический путь программы jps в соответствующем jdk (ваша версия jdk) вместо jdk1.6, который для меня специфичен. Надеюсь, это поможет.

Ответ 4

Используйте эту команду, если вы не можете использовать jps

ps -aux | Греп Ява | awk '{print $ 12}'

Это покажет файлы как:

shows file like this in the picture

Ответ 5

Кажется, что JPS (по крайней мере, на amx linux 64/centos) будет доступен через ant.

sudo yum install ant

и вы можете запустить jps

Ответ 6

Если вы используете openjdk, тогда вы устанавливаете дополнительный безголовый jre попробуйте:

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

Это сработало для меня, вы можете дать правильную версию openjdk у меня было 1.8

Ответ 7

на CentOS7 я исправил эту проблему при установке java-devel

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