Hadoop:JPS找不到安装的Java

我的configuration是

hduser@worker1:/usr/local/hadoop/conf$ jps The program 'jps' can be found in the following packages: * openjdk-6-jdk * openjdk-7-jdk Ask your administrator to install one of them 

我有Java安装虽然

 hduser@worker1:/usr/local/hadoop/conf$ java -version java version "1.6.0_23" OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre10-0ubuntu5) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode) hduser@worker1:/usr/local/hadoop/conf$ echo $JAVA_HOME /usr/lib/jvm/java-1.6.0-openjdk 

并在conf/hadoop-env.sh

 hduser@worker1:/usr/local/hadoop/conf$ cat 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/java-1.6.0-openjdk 

我如何让JPS工作?

看起来像open-jdk里没有jps。 对于hadoop,安装sun-jvm将是一个更好的选择。

上面的Saurabh Saxena的答案不再正确。 为了得到jps,你还要安装开发工具java-1.6.0-openjdk-devel。 在CentOS 6上,文件是:java-1.6.0-openjdk-devel.x86_64

所以:

 yum install java-1.6.0-openjdk* 

将会诀窍(除了jdk和开发工具之外,还会选择demo和javadoc),但是您会得到完整的命令行工具)。

对于Ubuntu:

 apt-get install java-1.6.0-openjdk-devel 

对于所有这些示例,您可以尝试JDK7(仅替换1.7),截至2012年12月,Hadoop在没有Oracle库的情况下相当稳定。 请参阅: http : //openjdk.java.net/install/

这也可能是一个原因。 它的简单:看看$ javac的作品。 注意:$ java可能工作,请检查javac。 如果$ javac不工作,那么$ jps也不能工作。 所以你可能想要做类似的事情

export PATH = $ PATH:$ JAVA_HOME / bin

然后再试一次。 包括javac和jps。 祝你好运。

我找到了缺少JPS命令的解决方案。 我在ubuntu机器上以伪分布模式安装Hadoop 1.x。 我使用Java-7-openJDK来提供Java命令和工具。 出于某种原因,版本6有一个java-1.6.0-openjdk-devel ,但是对于版本7(特别是debian和ubuntu发行版)没有。 我不确定Fedora和Redhat是否也是如此。 所以那个时候最好的答案是使用linux命令

ps -aux | grep java

我讨厌这样做,因为Hadoop守护进程启动的选项非常多,每个结果都填满了不止一个屏幕。 除了看到java正在运行,不可能看到hadoop守护进程正在运行。 因此,我以一行shell脚本的形式提出了一个简短的解释

这是我的JPS开放JDK的修改

#!/斌/庆典

ps -aux | grep java | awk'{print $ 12}'

结束

我将这两行保存在名为jps的文件中,并将其存储在具有执行权限的hadoop / bin目录中

**这是脚本hduser @ localhsot#./jps的结果

-Dproc-的NameNode

-Dproc,数据节点

-Dproc-的JobTracker

-Dproc-的TaskTracker **

我想为那些面临同样问题的人更新话题。

JDK8也没有“jps”命令,但JDK7确实有这个命令。

 root@tahirpc:/home/tahir# java -version java version "1.7.0_65" OpenJDK Runtime Environment (IcedTea 2.5.3) (**7u71-2.5.3-0ubuntu0.14.04.1**) OpenJDK 64-Bit server VM (build 24.65-b04, mixed mode) 

 root@tahirpc:~# jps 5036 NodeManager 4368 NameNode 4912 ResourceManager 5315 Jps 4773 SecondaryNameNode 4487 DataNode 

尝试这个….

 sudo apt-get install openjdk-7-jdk 

使用sudo apt-get install openjdk-7-jdk而不是openjdk-7-jre。 。

对于Ubuntu中的Java 8,使用以下命令。 sudo安装openjdk-8-jdk-headless

对于Hadoop, 首选 Oracle JDK 6,我不确定是否有人在没有任何补丁的情况下成功使用了OpenJDK和Hadoop。 仅供参考,也有一些关于支持 JDK 7的讨论。 目前,对Oracle JDK的依赖太多了。 希望依赖消失很快。

我找到了

 rpm -qlp java-1.6.0-openjdk-devel-1.6.0.0-1.39.1.9.7.el6.x86_64.rpm | grep jps /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/jps 

然后

 rpm -i java-1.6.0-openjdk-devel-1.6.0.0-1.39.1.9.7.el6.x86_64.rpm 

打开syneptics软件包管理器,安装openjdk-7-jdkopenjdk-6-jdk软件包。 之后,那个jps会工作