0

我正在尝试在最新版本的 ubuntu 64 位(vm)中运行这样的 hadoop 集群:

hadoop launch-cluster MyCluster 1

这是我得到的输出:

/usr/bin/hadoop: line 320: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory
/usr/bin/hadoop: line 390: /usr/lib/jvm/java-6-sun/bin/java: No such file or directory

我以这种方式在/usr/bin/hadoop中设置这个JAVA_HOMEexport JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

当我检查JAVA_HOME的值时,我得到/usr/lib/jvm/java-7-openjdk-amd64/jre/

该文件的第 320 行是:

JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m ${HADOOP_JAVA_PLATFORM_OPTS} org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"`

和第 390 行:

exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"

为什么我会收到此消息?/usr/lib/jvm/java-6-sun/bin/java: 没有这样的文件或目录

4

1 回答 1

2

的值$JAVA可能在脚本中的某个位置设置为指向较旧的 Java 6 二进制文件。在这种情况下,它指出/usr/lib/jvm/java-6-sun/bin/java在运行命令时导致 shell 失败的原因。将$JAVA变量设置为指向 Java 7 二进制文件的正确位置,问题应该得到解决。

于 2013-04-27T00:33:49.960 回答