【问题标题】:spark-submit gives Exception in thread "main" java.lang.SecurityException: Invalid signaturespark-submit 在线程“main”java.lang.SecurityException 中给出异常:签名无效
【发布时间】:2019-05-30 23:51:03
【问题描述】:

我在 scala 中编写了一个程序并使用 sbt 的汇编指令创建了一个可执行的 JAR 现在我必须上传并在我的平台上运行它。

对于构建 jar 我已经经历过

文件->项目结构->项目设置->工件->点击 绿色加号 -> Jar -> 来自具有依赖项的模块..

我使用命令:

spark-submit --class "ReadCSVwithnull" Scala.jar 

但我得到一个错误

线程“主”java.lang.SecurityException 中的异常:无效 清单主要属性的签名文件摘要位于 sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVeri fier.java:284) 在 sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier .java:238)

mu 版本为 InteliJ -2018.3.1
火花 2.3.2
斯卡拉 2.11.8
sbt 版本:sbt 1.2.7

【问题讨论】:

  • 三件事。首先,我建议您使用 SBT 自己构建 assembly JAR,并使用 sbt-assembly plugin。 IDE 很棒,但我会将构建工作留给构建工具 - 其次,确保将任何 Spark dependency 标记为 Provided 和排除 build.sbt 文件中的 assembly JAR 中的 Scala。您永远不应该包含您自己的 SparkScala,因为您的集群已经拥有它们 - 第三也是最重要的,使用相同版本的 Scala Spark 使用。 2.11.8.

标签: scala console executable-jar spark-submit


【解决方案1】:

删除清单中的签名文件对我有用。 使用命令

zip -d Scala.jar 'META-INF/*.RSA' 'META-INF/*.DSA' 'META-INF/*.SF'

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 2016-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多