无法找到 Spark Jar:Java ClassNotFoundException
Unable to locate Spark Jar: Java ClassNotFoundException
我正在 Ubuntu 安装 Spark server.I 已经按照所有步骤操作,它甚至在最后说构建成功但是当我 运行 ./bin/spark-shell
它是给我这个错误。
这可能意味着它无法找到位置为 ./spark-1.4.1/launcher/src/main/java/org/apache/spark/launcher 的 .jar 文件,其中包含所有 java 文件,例如 Main.java.
$CLASSPATH 和 $SPARK_CLASSPATH 中也没有任何内容。我之前在 Linux 和 Mac 安装了 Spark 并没有遇到这个问题。有人能告诉我这里有什么问题吗?可能我需要指定 classpath 或一些环境变量以指向包含所有 class 文件的 jar。
我的 JAVA_HOME 指向 /jvm/java-6-openjdk-amd64/jre。这有什么问题吗?
编辑:
我尝试了更多的东西。我写了一个 shell 脚本来找出包含 org/apache/spark/launcher/Main.class 文件的 jar 文件,并发现它位于:/usr/local/src/spark/spark-1.4.1/launcher/target/spark-launcher_2.10-1.4.1.jar
。我将 CLASSPATH 和 SPARK_CLASSPATH 更改为同一位置并尝试了 运行 Spark。它给了我同样的错误。
我还更改了 ./conf/spark-env.sh 以合并不同的 SPARK_CLASSPATH。它也没有用。
您是 运行 来自 SPARK_HOME 或其他目录的 spark-submit 脚本吗? spark-submit 脚本假定您是 运行 它来自 SPARK_HOME 目录。
尝试将类路径设置为:
导出 CLASSPATH=${SPARK_HOME}/lib:$CLASSPATH
然后再试一次。
所以经过大量研究和实验,我发现我一直在使用错误版本的JDK。我应该一直使用 JDK1.7,但我一直在 ubuntu 中使用默认 JAVA_HOME,即 JDK-1.6。
因此,安装 jdk1.7,然后将 java_home 指向它。之后工作正常。
我正在 Ubuntu 安装 Spark server.I 已经按照所有步骤操作,它甚至在最后说构建成功但是当我 运行 ./bin/spark-shell
它是给我这个错误。
这可能意味着它无法找到位置为 ./spark-1.4.1/launcher/src/main/java/org/apache/spark/launcher 的 .jar 文件,其中包含所有 java 文件,例如 Main.java.
$CLASSPATH 和 $SPARK_CLASSPATH 中也没有任何内容。我之前在 Linux 和 Mac 安装了 Spark 并没有遇到这个问题。有人能告诉我这里有什么问题吗?可能我需要指定 classpath 或一些环境变量以指向包含所有 class 文件的 jar。
我的 JAVA_HOME 指向 /jvm/java-6-openjdk-amd64/jre。这有什么问题吗?
编辑:
我尝试了更多的东西。我写了一个 shell 脚本来找出包含 org/apache/spark/launcher/Main.class 文件的 jar 文件,并发现它位于:/usr/local/src/spark/spark-1.4.1/launcher/target/spark-launcher_2.10-1.4.1.jar
。我将 CLASSPATH 和 SPARK_CLASSPATH 更改为同一位置并尝试了 运行 Spark。它给了我同样的错误。
我还更改了 ./conf/spark-env.sh 以合并不同的 SPARK_CLASSPATH。它也没有用。
您是 运行 来自 SPARK_HOME 或其他目录的 spark-submit 脚本吗? spark-submit 脚本假定您是 运行 它来自 SPARK_HOME 目录。
尝试将类路径设置为: 导出 CLASSPATH=${SPARK_HOME}/lib:$CLASSPATH 然后再试一次。
所以经过大量研究和实验,我发现我一直在使用错误版本的JDK。我应该一直使用 JDK1.7,但我一直在 ubuntu 中使用默认 JAVA_HOME,即 JDK-1.6。
因此,安装 jdk1.7,然后将 java_home 指向它。之后工作正常。