我跟着这个答案。我收到此错误:
spark-class:第 86 行:/usr/lib/jvm/java-8-oracle/bin/java:没有这样的文件或目录
令我惊讶的是,我有:
gsamaras@gsamaras:/usr/lib/jvm$ ls
java-1.7.0-openjdk-amd64 java-7-openjdk-amd64
gsamaras@gsamaras:/usr/lib/jvm$ $JAVA_HOME
bash: /usr/lib/jvm/java-8-oracle: No such file or directory
如何纠正它?
更多信息(来自这里):
gsamaras@gsamaras:~$ which java
/usr/bin/java
gsamaras@gsamaras:~$ ls -alh /usr/bin/java
lrwxrwxrwx 1 root root 22 Feb 10 00:54 /usr/bin/java -> /etc/alternatives/java
gsamaras@gsamaras:~$ ls -alh /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Feb 10 00:54 /etc/alternatives/java -> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
在~/.profile
我附加的:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=${JAVA_HOME}/bin:${PATH}
export HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
根据我的Hadoop 经验。当我得知我能够启动 Spark 时。
编辑:
gsamaras@gsamaras:~/spark-1.6.0-bin-hadoop2.6/conf$ ls
docker.properties.template metrics.properties.template spark-env.sh.template
fairscheduler.xml.template slaves.template
我不确定 Spark 是否可以与 Java 7 一起使用,但如果不是,显而易见的解决方案是安装 Java 8:
在正确的地方回答“是”应该让你默认使用 Java 8,否则
会成功的。
更新:话虽如此,如果您想使用 OpenJDK 7 运行,您必须找出
JAVA_HOME
错误设置的位置由于您尝试纠正该问题
.profile
(您做了hash -r
还是重新登录?),您可能需要检查load-spark-env.sh
或其他在正确启动 Spark 之前执行的脚本。干杯,
只需尝试在您的文件夹中找到 spark-env.sh 文件并检查其中给出的 JAVA_HOME。etc/environment 中给出的位置在两个文件中必须相同