无法通过Spark提交找到akka配置

4dbbbstv  于 2022-11-06  发布在  Spark
关注(0)|答案(2)|浏览(134)

我建立了一个胖jar,我试图运行它与spark-submit上的EMR或本地.这里是命令:

spark-submit \
--deploy-mode client  \
--class com.stash.data.omni.source.Runner myJar.jar  \
<arguments>

我不断收到与akka配置相关的错误:

Exception in thread "main" com.typesafe.config.ConfigException$Missing: No configuration setting found for key 'akka.version'

看起来jar根本找不到akka的reference.conf。有人处理过这个问题吗?我可以在我的本地机器上运行它,而不用spark-submit。

sg24os4d

sg24os4d1#

我认为问题是绑定到一个jar中,并带有它的所有依赖项,这会导致Akka出现问题,如文档中所述:
Akka的配置方法很大程度上依赖于每个模块/jar都有自己的reference.conf文件的概念。所有这些都将被配置发现并加载。不幸的是,这也意味着如果你将多个jar放入/合并到同一个jar中,你需要合并所有的reference.conf文件:否则将丢失所有默认值。
您可以按照此文档打包您的应用程序,并在捆绑时合并reference.conf资源。它介绍了如何使用sbt、maven和gradle打包。
如果有帮助的话,让我知道!!

rxztt3cl

rxztt3cl2#

这是我的合并策略。我有一个catch all case _ => MergeStrategy.first。我把它改成了case x => MergeStrategy.defaultMergeStrategy(x),它起作用了。

相关问题