我的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脚本的形式提出了一个简短的解释
#!/斌/庆典
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-jdk
和openjdk-6-jdk
软件包。 之后,那个jps会工作