spark-class:第71行......没有这样的文件或目录

时间:2017-05-07 17:42:30

标签: java ubuntu apache-spark

我已经在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文件在链接中,以防万一:

http://vaughn-s.net/hadoop/spark-class

2 个答案:

答案 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

这就是我的工作方式。