2017-10-06 69 views
0

因此,当开发火花程序,我使用我的本地机器,因此必须setMaster“本地”。但是,当我提交由我本地开发的程序构建的jar时,我显然不想使用“本地”模式。在火花代码管理conf.setMaster()使用配置文件来自动设置本地或纱线集群

如何在生产时使用可能的类型安全配置来设置“本地”测试和“纱线群集”?

编辑:

基于来自@Shaido的溶液中,IDEA的Intellij:

转到:运行 - > EDIR confirgurations->在应用配置集: VM options = -Dspark.master=local[*]

回答

0

如果您使用的是IDE,那么您不需要将setMaster硬编码到代码中。

对于Eclipse,你可以去“运行配置” - >“参数” - >“VM参数”,并添加

-Dspark.master=local[*] 

本地运行时,这将使用所有可用的核心。其他IDE应该具有类似的配置。这样,就不需要为代码本身添加任何东西。

当集群上运行,使用:

spark-submit --master yarn --deploy-mode cluster 
0

在理想情况下yarn-cluster或local应该作为命令行输入,并且在代码中使用spark-submit而不是硬编码。你可以通过

spark-submit --master yarn --deploy-mode cluster in spark 2.1 

如果从群集中提交和local如果你是从本地提交。