Hadoop:JPS找不到安装的Java

时间:2011-10-20 23:24:21

标签: java ubuntu hadoop mapreduce

我的配置

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工作?

11 个答案:

答案 0 :(得分:9)

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和dev工具之外,还会选择demo和javadoc,但是你将获得完整的命令行工具)。

对于Ubuntu:

apt-get install java-1.6.0-openjdk-devel 

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

答案 1 :(得分:6)

这也可能是一个原因。它很简单:看看$ javac是否有效。注意:$ java可能有用,请检查javac。如果$ javac不起作用,则$ jps也不起作用。 所以你可能想要做一些像

这样的事情
  

导出路径= $ PATH:$ JAVA_HOME / bin

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

答案 2 :(得分:4)

我找到了缺少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脚本

的形式提出了一个简短的灵魂

这是我打开JDK的JPS scir

#!/斌/庆典

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

END

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

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

-Dproc-名称节点

-Dproc-数据节点

-Dproc-JobTracker的

-Dproc-的TaskTracker **

答案 3 :(得分:3)

似乎open-jdk中没有jps。 对于hadoop,安装sun-jvm将是更好的选择。

答案 4 :(得分:1)

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

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

答案 5 :(得分:1)

试试这个......

sudo apt-get install openjdk-7-jdk

答案 6 :(得分:1)

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

答案 7 :(得分:1)

对于ubuntu中的java 8,请使用以下命令。  sudo apt install openjdk-8-jdk-headless

答案 8 :(得分:0)

对于Hadoop,Oracle JDK 6 preferred,我不确定是否有人在没有任何补丁的情况下成功使用OpenJDK和Hadoop。仅供参考,还有一些关于JDK 7 support的讨论。目前,Oracle JDK上有太多dependency。希望很快就会消失。

答案 9 :(得分:0)

我找到了

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

答案 10 :(得分:0)

打开syneptics包管理器并安装openjdk-7-jdkopenjdk-6-jdk包。在jps可以工作之后