我的配置是
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和dev工具之外,还可以获取demo和javadocs,但您将获得命令行工具的完整补充)。
对于Ubuntu:
apt-get install java-1.6.0-openjdk-devel
对于所有这些示例,您可以尝试JDK7(仅替代1.7),并且从2012年12月开始,没有Oracle库的Hadoop相当稳定。请参阅:http://openjdk.java.net/install/