Spark-submit Executers 没有获取属性

Spark-submit Executers are not getting the properties

我正在尝试将 Spark 应用程序部署到 4 节点 DSE spark 集群,我创建了一个包含所有相关 Jar 的胖 jar,并且我在 src/main/resources 下创建了一个 属性 文件,其中包含批次间隔主属性 URL 等

我已经将这个 fat jar 复制到 master,我正在使用 "spark-submit" 提交申请,下面是我的提交命令。

dse spark-submit --class com.Processor.utils.jobLauncher --supervise application-1.0.0-develop-SNAPSHOT.jar qa

当我在单节点集群上 运行 时,一切正常,但如果在 DSE spark 独立集群上 运行,则上述属性(如批处理间隔)对执行程序不可用。我用谷歌搜索,发现这是许多人解决的常见问题。所以我遵循了其中一种解决方案并创建了一个 fat jar 并尝试 运行,但是,执行者仍然无法使用我的属性。

有人可以就如何解决问题给出任何指示吗?

我正在使用 DSE 4.8.5 和 Spark 1.4.2

这就是我加载属性的方式

 System.setProperty("env",args(0)) 

 val conf = com.typesafe.config.ConfigFactory.load(System.getProperty("env") + "_application")

找到解决方案:

我指的是来自系统 属性 的 属性 文件名(我正在使用命令行参数设置它的主要方法)并且当代码在工作节点上发送和执行时,系统 属性 不可用(显然..!!),所以我没有使用类型安全的 ConfigFactory 来加载 属性 文件,而是使用简单的 Scala 文件读取。