使用java\u home环境变量识别问题源

g6ll5ycj  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(447)

我正在尝试在最新版本的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中设置这个javau主页的 export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") 当我检查javahome的值时,得到/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:没有这样的文件或目录

vjhs03f7

vjhs03f71#

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

相关问题