Hadoop:无法使用Jps命令

时间:2012-07-31 10:27:47

标签: java hadoop

问题是

  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>

我的配置是

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)

设置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/

我知道有一个问题(http://stackoverflow.com/questions/7843422/hadoop-jps-can-not-find-java-installed)与此类似。 但是我在这里安装了Sun jdk。所以任何帮助都会受到赞赏..

6 个答案:

答案 0 :(得分: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

将约。给你相同的结果;)

答案 1 :(得分:9)

您是否安装了提供jps工具的 java-1.6.0-openjdk-devel 软件包?

$ 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

答案 2 :(得分:3)

如果您不能使用 jps

,请使用此命令
  

ps -aux | grep java | awk&#39; {print $ 12}&#39;

它会将文件显示为:

shows file like this in the picture

答案 3 :(得分:2)

JPS似乎(至少在amx linux 64 / centos上)可以通过ant获得。

sudo yum install ant

你可以运行jps

答案 4 :(得分:1)

在CentOS7上,我在安装java-devel时解决了该问题

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

答案 5 :(得分:0)

如果你正在使用openjdk,那么你已经安装了额外的无头jre 尝试:

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

它对我有用,你可以得到正确的openjdk版本我的是1.8