16

问题是

  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。所以任何帮助将不胜感激..

4

7 回答 7

22

这实际上不是 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

这将大约。给你同样的结果;)

于 2012-07-31T13:04:36.127 回答
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
于 2013-07-29T08:25:53.183 回答
8

如果您不能使用jps ,请使用此命令

ps-辅助 | grep java | awk '{打印 $12}'

它将文件显示为:

在图片中显示这样的文件

于 2016-10-10T03:21:45.523 回答
6

这个问题是由于您从 Oracle 安装了 JDK(可能是)引起的。您可以通过使用update-alternatives程序链接jps到标准路径目录来解决此问题。使用此命令在终端中修复此问题

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

jps使用适当的 jdk(您的 jdk 版本)中的实际程序路径,而不是jdk1.6特定于我的路径。希望这会有所帮助。

于 2013-01-22T04:52:33.240 回答
4

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

sudo yum install ant

你可以运行 jps

于 2017-05-14T23:18:14.627 回答
3

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

# yum install java-1.8.0-openjdk-devel.x86_64
于 2019-05-22T05:48:10.977 回答
0

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

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

它对我有用,你必须提供正确的 openjdk 版本,我的是 1.8

于 2017-12-24T17:04:31.863 回答