2012-07-31 43 views
13

問題是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/questions/7843422/hadoop-jps-can-not-find-java-installed)與此類似。 但我在這裏安裝了Sun jdk。所以任何幫助將不勝感激。

回答

19

這實際上不是一個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 

這將約。給你相同的結果;)

6

此問題是由於您從Oracle(可能)安裝JDK而引起的。您可以通過使用update-alternatives程序將jps鏈接到標準路徑目錄來解決此問題。使用此命令在終端

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

使用在合適的JDK,而不是jdk1.6實際jps程序路徑(你的JDK版本),這是專門針對我來解決這個問題。希望這會有所幫助。

9

您是否安裝了包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 
+0

是的,你需要做的百勝安裝java-1.8.0-的OpenJDK-devel.x86_64獲得JPS (YUM安裝java-1.8.0-openjdk.x86_64不提供的話) – 2017-04-21 11:10:14

2

JPS似乎(在AMX的Linux至少64/CentOS的)是通過螞蟻可用。

sudo yum install ant 

,你可以運行JPS

+0

它的工作對JDK 1.8 感謝 – Ravi 2017-12-05 08:52:06

0

如果你正在使用的OpenJDK,那麼你必須安裝額外的無頭JRE 嘗試:

命令和apt-get安裝的Java 1.8。0-的OpenJDK,無頭

它的工作對我來說,你可以給正確的OpenJDK的版本我的是1.8

+0

我認爲運不使用OpenJDK的,他們的狀態,他們正在使用「太陽JDK」。 – navicore 2017-12-24 17:35:21