问题是
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>
Run Code Online (Sandbox Code Playgroud)
我的配置是
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)
Run Code Online (Sandbox Code Playgroud)
设置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/
Run Code Online (Sandbox Code Playgroud)
我知道有一个问题(http://stackoverflow.com/questions/7843422/hadoop-jps-can-not-find-java-installed)与此类似.但是我在这里安装了Sun jdk.所以任何帮助将不胜感激..
Tho*_*lut 20
这实际上不是Hadoop问题.Hadoop不使用JPS.
如果找不到JPS,则必须将其放入路径或创建别名.可以在下面找到JPS可执行文件$JAVA_HOME/bin/jps.
别名例如可以是:
alias jps='/usr/lib/jvm/jdk1.6.0_33/bin/jps'
Run Code Online (Sandbox Code Playgroud)
或者如果你不关心使用JPS,你可以做一个
ps aux | grep java
Run Code Online (Sandbox Code Playgroud)
这将约.给你相同的结果;)
你安装了提供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
Run Code Online (Sandbox Code Playgroud)
由于您已从Oracle安装JDK(可能是),因此导致此问题.您可以通过使用update-alternatives程序链接jps到标准路径目录来解决此问题.使用此命令在终端中修复此问题
sudo update-alternatives --install /usr/bin/jps jps /usr/lib/jvm/jdk1.6/bin/jps 1
Run Code Online (Sandbox Code Playgroud)
jps在相应的jdk(您的jdk版本)中使用实际的程序路径,而不是jdk1.6特定于我的.希望这会有所帮助.