【问题标题】:NoClassDefFoundError in Spark SubmitSpark提交中的NoClassDefFoundError
【发布时间】:2016-05-18 01:00:33
【问题描述】:

我正在开发一个 spark 应用程序。我正在使用第三方 jar。我将它添加到我的 sbt 文件中。编译成功

> libraryDependencies += "org.springframework.security" %
> "spring-security-web" % "3.0.7.RELEASE

但是当我提交火花作业时

spark-submit --master yarn-client --class MyClass target/scala-2.10/my-app.jar

失败并出现以下错误:

Exception in thread "main" org.apache.spark.SparkException: Job aborted due to 
stage failure: Task 0 in stage 48.0 failed 1 times, most recent failure: Lost task 0.0 in stage 48.0 (TID 3216, localhost): 
`java.lang.NoClassDefFoundError:` org/springframework/security/web/util/IpAddressMatcher

我也尝试在 spark-submit jar 中显式传递 jar

spark-submit --master yarn-client --jars third-party-jars/spring-security-web-3.0.7.RELEASE.jar --class MyClass target/scala-2.10/my-app.jar

然后它失败并出现以下错误:

java.lang.NoClassDefFoundError: org/springframework/util/StringUtils
    at org.springframework.security.web.util.IpAddressMatcher.<init>(IpAddressMatcher.java:33)

它类似的错误,但在另一个类。

关于如何解决这个问题的任何建议?

谢谢

【问题讨论】:

  • 尝试使用来自 sbt 的程序集插件制作一个“uberjar”
  • 正如@rhernando 提到的,尝试按照此说明构建一个胖罐 - stackoverflow.com/questions/28459333/…。然后应该将所有依赖项放在一个 jar 中。

标签: apache-spark noclassdeffounderror spark-streaming


【解决方案1】:

您也可以使用 IntelijIDE。你不需要总是调整它。你可以在这里下载 Ubuntu。 https://apps.ubuntu.com/cat/applications/intellij-idea-ce/

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 2014-10-30
    • 1970-01-01
    • 2017-12-20
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    相关资源
    最近更新 更多