问题是
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。所以任何帮助都会受到赞赏..
答案 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;
它会将文件显示为:
答案 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