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 здесь. Поэтому любая помощь будет оценена.
Ответы
Ответ 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