【问题标题】:spark-class: line 71...No such file or directoryspark-class:第 71 行...没有这样的文件或目录
【发布时间】:2017-10-05 16:33:45
【问题描述】:

我在 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-class 文件有以下几行:

if [ -n "${JAVA_HOME}" ]; then
  RUNNER="${JAVA_HOME}/bin/java"

我最初使用的是适用于 Hadoop 2.4 的 Spark 版本,当我将其更改为“RUNNER="${JAVA_HOME}" 时,它会给我错误“[path] is a directory”或“[path]不是目录。”这是在 /etc/environment 中尝试了多个路径排列之后

我现在在 /etc/environment 中拥有的是:

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/"

这是我当前的 java 设置:

root@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

【问题讨论】:

    标签: java ubuntu apache-spark


    【解决方案1】:

    在/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" 也应该保持原样

    【讨论】:

      【解决方案2】:

      Windows 环境:

      打开Advanced system settings -> Environment Variables设置JAVA_HOME路径,最常见的错误是设置JAVA文件夹路径:

      JAVA_HOME: Directory-Name:\java
      

      而不是将其设置为 JDK 文件夹

      JAVA_HOME: Directory-Name:\jdk
      

      这对我来说是这样的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-14
        • 1970-01-01
        • 1970-01-01
        • 2021-04-22
        • 1970-01-01
        • 1970-01-01
        • 2020-05-24
        • 2021-06-24
        相关资源
        最近更新 更多