web-dev-qa-db-fra.com

Hadoop: impossible d'utiliser la commande Jps

Le problème est

  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>

Ma configuration est 

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)

mettre en place 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/

Je sais qu'il existe une question (http://stackoverflow.com/questions/7843422/hadoop-jps-can-not-find-Java-installed) similaire à celle-ci . Mais j'ai installé Sun jdk ici. Donc, toute aide serait appréciée ..

13
saket

Ce n'est en réalité pas un problème Hadoop. Hadoop n'utilise pas JPS.

Si JPS est introuvable, vous devez le mettre dans votre chemin ou créer un alias . Le fichier exécutable JPS se trouve sous $Java_HOME/bin/jps.

L'alias par exemple pourrait être:

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

Ou si vous ne vous souciez pas de l’utilisation de JPS, vous pouvez faire une 

ps aux | grep Java

qui sera env. vous donner le même résultat;)

19
Thomas Jungblut

avez-vous installé le paquet Java-1.6.0-openjdk-devel qui fournit l'outil 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
9
shawnzhu

Ce problème est dû au fait que vous avez installé JDK à partir d’Oracle (peut-être). Vous pouvez résoudre ce problème en utilisant le programme update-alternatives pour lier jps au répertoire de chemin standard. Utilisez cette commande pour résoudre ce problème dans un terminal

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

Utilisez le chemin du programme jps dans le jdk approprié (votre version de jdk) au lieu de jdk1.6 qui m’est spécifique. J'espère que cela aidera.

6
Anwar

Utilisez cette commande si vous ne pouvez pas utiliser jps

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

il montrera les fichiers comme

montre le fichier comme celui-ci dans l'image

2
Aey Varistha

JPS semble (sur amx linux 64/centos au moins) être disponible via ant. 

Sudo yum install ant

et vous pouvez courir jps

2
Alex Nano

Si vous utilisez openjdk, vous devez installer une nouvelle version sans tête Try:

Sudo apt-get installer Java-1.8.0-openjdk-headless

Cela a fonctionné pour moi, vous pouvez avoir à donner la version correcte d'Openjdk mienne 1.8

0
Shreyas Mangave