【问题标题】:Oozie Resolving Jar versionsOozie 解析 Jar 版本
【发布时间】:2018-11-25 18:35:00
【问题描述】:

我有一个使用纱线调度程序运行的 oozie 作业。

我的 oozie 作业中的两个操作是 spark 作业,然后是 java 作业。

我的 spark 程序集 jar 中有 jackson 2.6 版,我的 java 程序集 jar 中有 jackson 2.9。现在我的火花因异常而失败了

>     java.lang.Exception: Incompatible Jackson version: 2.9.3
>       at com.sps.analytics.batch.bi.BatchApp.executeQueries(BatchApp.scala:73)
>       at com.sps.analytics.batch.bi.BatchApp$.main(BatchApp.scala:32)

如何强制我的 spark 应用程序 jar 使用 2.6 版本

// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.6.5" force()

// https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations
dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-annotations" % "2.6.5" force()

// https://mvnrepository.com/artifact/com.fasterxml.jackson.module/jackson-module-scala
dependencyOverrides += "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.6.5" force()

// https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-yaml
libraryDependencies += "com.fasterxml.jackson.dataformat" % "jackson-dataformat-yaml" % "2.6.5" force()

这就是我的 spark build.sbt 中的内容

【问题讨论】:

  • 您的 Oozie Spark 作业和 Java 作业应该是独立的。可能是 YARN 加载了 Jackson 库 2.9(检查 YARN 日志)导致此冲突。如果是这种情况,尝试使用参数oozie.launcher.mapreduce.user.classpath.first(community.hortonworks.com/questions/6610/…)
  • 似乎不起作用:(
  • Oozie 作业作为单独的作业可以正常工作,但是当我创建一个包含两个任务的作业时,它似乎不起作用。我遇到冲突,我的 spark 应用程序抱怨它有更高版本的 jackson,它在另一个 jar 中使用。我的两个罐子之间是组装罐子。
  • 如何从工作流中的操作中排除 lib 中的 jars

标签: apache-spark hadoop hadoop-yarn oozie amazon-emr


【解决方案1】:

将 Java 操作作为子工作流有助于解决问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多