【问题标题】:java.lang.NoSuchMethodError when loading external FAT-JARs in Zeppelin在 Zeppelin 中加载外部 FAT-JAR 时出现 java.lang.NoSuchMethodError
【发布时间】:2018-01-18 13:57:37
【问题描述】:
  • 在尝试运行一段使用sbt assembly 构建的FAT JARs(共享一些共同的submodules)的代码时,我遇到了这个讨厌的java.lang.NoSuchMethodError

  • JAR 是基于 EMR 本身构建的(而不是从其他环境上传的),因此库中的 版本冲突 / Spark / Scala 等不太可能


我的EMR 环境:

  • 发布标签:emr-5.11.0
  • Hadoop 发行版:Amazon 2.7.3
  • 应用程序:Spark 2.2.1、Zeppelin 0.7.3、Ganglia 3.7.2、Hive 2.3.2、Livy 0.4.0、Sqoop 1.4.6、Presto 0.187

项目配置:

  • Scala 2.11.11
  • Spark 2.2.1
  • SBT 1.0.3

【问题讨论】:

    标签: apache-spark apache-zeppelin fatjar


    【解决方案1】:

    原来真正的罪魁祸首是那些jars中的共享submodules

    两个由包含公共submodules 的项目构建的fat jars 导致了此冲突。删除其中一个 jars 解决了该问题。


    我不确定这种冲突是仅在某些特定情况下发生,还是在Zeppelin interpreter 上传此类jars(具有相同的submodules)时总是会发生,因此仍在等待适当的解释。

    【讨论】:

      猜你喜欢
      • 2019-11-22
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 2020-05-16
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多