无法找到Spark Jar:Java ClassNotFoundException

时间:2015-08-27 17:51:48

标签: java jar apache-spark

我在Ubuntu服务器上安装Spark。我已经按照所有步骤操作了,它甚至说最后成功了但是当我运行时./bin/spark-shell它给了我这个错误。enter image description here

这可能意味着它无法找到位于./spark-1.4.1/launcher/src/main/java/org/apache/spark/launcher位置的.jar文件,该文件包含所有java文件Main.java。

$ CLASSPATH和$ SPARK_CLASSPATH也没有任何内容。我以前在Linux和Mac上安装了Spark,并没有遇到这个问题。谁能告诉我这里有什么问题?可能我需要指定classpath或一些环境变量来指向包含所有类文件的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。它也没有用。

2 个答案:

答案 0 :(得分:6)

经过大量的研究和实验后,我发现我一直在使用错误的JDK版本。我应该一直在使用JDK1.7,但我一直在ubuntu中使用JDK-1.6的默认JAVA_HOME。

因此,安装jdk1.7然后将java_home指向它。之后工作正常。

答案 1 :(得分:1)

您是否正在运行SPARK_HOME或其他目录中的spark-submit脚本? spark-submit脚本假定您正在从SPARK_HOME目录运行它。

尝试将类路径设置为: export CLASSPATH = $ {SPARK_HOME} / lib:$ CLASSPATH 然后再试一次。