我已经在Ubuntu上安装了Spark 2.1.1,无论我做什么,它似乎都不同意java路径。当我运行" spark-submit --version"或者" spark-shell"我收到以下错误:
/ usr / local / spark / bin / spark-class:第71行:/ usr / lib / jvm / java-8-openjdk-amd64 / jre / bin // bin / java:没有这样的文件或目录
现在显然是" / bin // bin / java"是有问题的,但我不知道在哪里更改配置。 spark类文件包含以下行:
if [ -n "${JAVA_HOME}" ]; then
RUNNER="${JAVA_HOME}/bin/java"
我最初使用的是适用于Hadoop 2.4的Spark版本,当我将其更改为" RUNNER =" $ {JAVA_HOME}"它会给我错误" [path]是一个目录"或" [path]不是目录。"这是在/ etc / environment
中尝试多路径排列之后我现在在/ etc / environment中拥有的是:
JAVA_HOME =" / usr / lib中/ JVM / JAVA -8-的openjdk-AMD64 / JRE / bin中/"
这是我当前的Java设置:
r oot @ ubuntu:〜#update-alternatives --config java 链接组java中只有一个替代方法(提供/ usr / bin / java):/ usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java
bashrc有以下内容:
export SPARK_HOME="/usr/local/spark"
export PATH="$PATH:$SPARK_HOME/bin"
任何人都可以建议:1)我需要更改哪些文件以及2)我需要如何更改它们?提前谢谢。
spark-class文件在链接中,以防万一:
答案 0 :(得分:6)
在/ etc / environment文件中替换
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/
带
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/
然后执行
source /etc/environment
RUNNER="${JAVA_HOME}/bin/java"
也应保持原样
答案 1 :(得分:1)
Windows环境:
打开Advanced system settings -> Environment Variables
设置JAVA_HOME
路径,最常见的错误是设置JAVA文件夹的路径:
JAVA_HOME: Directory-Name:\java
而不是将其设置为JDK文件夹
JAVA_HOME: Directory-Name:\jdk
这就是我的工作方式。