【问题标题】:Spark ClassNotFoundException running the master运行 master 的 Spark ClassNotFoundException
【发布时间】:2014-01-03 04:21:54
【问题描述】:

我已经使用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 clean 之后(根据下面的建议)它正在运行:见截图。

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    可能有许多因素导致此错误,但并非特定于 Spark:

    1. 身材不好,sbt clean compile 又是那只小狗。
    2. 您的 .ivy2 缓存中有一个缓存依赖项,它与该项目版本的 Spark 的依赖项冲突。清空缓存,然后重试。
    3. 您在 Spark 上构建的项目的库版本与 Spark 的依赖项冲突。也就是说,当您的项目放入“foo-0.8.4”时,Spark 可能依赖于“foo-0.9.7”。

    试着先看看那些。

    【讨论】:

    • 我不熟悉 ivy2 依赖管理器 - 如何执行您在#2 中提到的清空缓存?
    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多