Spark-submit执行程序没有获得属性



我正在尝试将Spark应用程序部署到4节点DSE Spark集群,并且我已经创建了一个包含所有依赖jar的fat 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独立集群上运行,上面提到的属性(如批处理间隔)对执行器不可用。我在谷歌上搜索了一下,发现这是一个常见的问题,很多人已经解决了。所以我遵循了其中一个解决方案,创建了一个胖罐并试图运行,但仍然,我的属性对执行者不可用。

谁能指点一下如何解决这个问题?

我正在使用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文件读取。

最新更新