我关注了回答。我收到此错误:
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
答案1
我不确定 Spark 是否可以与 Java 7 兼容,但如果不行,那么显而易见的解决方案是安装 Java 8:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
在正确的位置回答“是”应该会默认使用 Java 8,否则
sudo update-java-alternatives -s java-8-oracle
就可以了。
更新:话虽如此,如果你想使用 OpenJDK 7,你必须找出哪里JAVA_HOME
设置错误
gsamaras@gsamaras:/usr/lib/jvm$ $JAVA_HOME
bash: /usr/lib/jvm/java-8-oracle: No such file or directory
由于您尝试纠正该问题.profile
(您已这样做hash -r
或重新登录?),您可能需要检查load-spark-env.sh
在启动 Spark 之前执行的其他脚本。
干杯,
答案2
只需尝试在您的文件夹中找到 spark-env.sh 文件并检查其中给出的 JAVA_HOME。etc/environment 中给出的位置在两个文件中必须相同