运行master的Spark ClassNotFoundException

时间:2013-12-15 20:57:24

标签: scala apache-spark

我使用sbt/sbt assembly下载并构建了Spark 0.80。它很成功。但是,在运行./bin/start-master.sh时,日志文件中会出现以下错误

Spark Command: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -cp :/shared/spark-0.8.0-incubating-bin-hadoop1/conf:/shared/spark-0.8.0-incubating-bin-hadoop1/assembly/target/scala-2.9.3/spark-assembly-0.8.0-incubating-hadoop1.0.4.jar
/shared/spark-0.8.0-incubating-bin-hadoop1/assembly/target/scala-2.9.3/spark-assembly_2.9.3-0.8.0-incubating-hadoop1.0.4.jar -Djava.library.path= -Xms512m -Xmx512m org.apache.spark.deploy.master.Master --ip mellyrn.local --port 7077 --webui-port 8080

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/deploy/master/Master
Caused by: java.lang.ClassNotFoundException: org.apache.spark.deploy.master.Master
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

更新:执行sbt 清理后(按照以下建议),它正在运行:请参阅屏幕截图。 enter image description here

1 个答案:

答案 0 :(得分:5)

可能有许多导致此错误的事情并非特定于Spark:

  1. 糟糕的构建,sbt clean compile那只小狗。
  2. 您的.ivy2缓存中存在缓存依赖项,该缓存与该项目版本的Spark的依赖项冲突。清空缓存并重试。
  3. 您在Spark上构建的项目的库版本与Spark的依赖项冲突。也就是说,当你的项目输入“foo-0.8.4”时,Spark可能依赖于“foo-0.9.7”。
  4. 先试试这些。