我的配置是
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工作?
Saurabh Saxena的答案不再正确。要获得jsp,还需要安装开发工具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和javadocs,但是您将获得命令行工具的完整补充)。
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也不能工作。所以你可能想写
= $出口路径路径:$ JAVA_HOME/bin
,再试一次。javac和jps。好运。
我已经找到了丢失JPS命令的解决方案。我当时正在安装Hadoop 1。在ubuntu机器上以伪分布式模式安装X。我使用Java-7- openjdk来提供Java命令和工具。由于某些原因,版本6有java-1.6.0-openjdk-devel,但版本7没有,特别是debian和ubuntu发行版。我不确定Fedora和Redhat是否也是如此。所以当时最好的答案是使用linux命令
我讨厌这样做,因为Hadoop守护进程启动时有很多选项,每个结果都填满了超过一个屏幕。除了看到java正在运行之外,不可能看到hadoop守护进程正在运行。因此,我想出了一个简短的解决方案,以一行shell脚本的形式
这是我打开JDK的jsp脚本
!#/bin/bash
ps -aux | grep Java | awk '{print $12}'
结束我将这两行保存在一个名为jps的文件中,并将其存储在hadoop/bin目录中,并具有执行权限
**这是脚本的结果hduser@localhsot #。/jps
-Dproc-namenode
-Dproc-datanode
-Dproc-JobTracker
-Dproc-TaskTracker * *
似乎open-jdk中没有jps。对于hadoop,安装sun-jvm将是更好的选择。
试试这个....
sudo apt-get install openjdk-7-jdk
我想为那些面临同样问题的人更新主题。
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,而不是openjdk-7-jre。
对于ubuntu中的java 8,使用以下命令。安装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
打开syntics包管理器,安装openjdk-7-jdk
和openjdk-6-jdk
包。