在火花代码管理 conf.setMaster() 使用配置文件自动设置本地或纱线集群

Posted

技术标签:

【中文标题】在火花代码管理 conf.setMaster() 使用配置文件自动设置本地或纱线集群【英文标题】:In spark code manage conf.setMaster() using a config file to autoset local or yarn-cluster 【发布时间】:2017-10-06 08:10:11 【问题描述】:

所以在开发 Spark 程序时,我使用本地机器,因此必须将 Master 设置为“本地”。但是,当我提交从本地开发的程序构建的 jar 时,我显然不想使用“本地”模式。

如何在测试时使用 typesafeconfig 设置“本地”,在生产时设置“yarn-cluster”?

编辑:

基于@Shaido 的解决方案,用于 IDEA Intellij:

转到:运行->edir configurations->在应用程序配置集下: VM options = -Dspark.master=local[*]

【问题讨论】:

【参考方案1】:

如果您使用的是 IDE,则无需将 setMaster 硬编码到代码中。

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

-Dspark.master=local[*]

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

在集群上运行时,使用:

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

【讨论】:

【参考方案2】:

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

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

如果您从集群提交,local 如果您从本地提交。

【讨论】:

以上是关于在火花代码管理 conf.setMaster() 使用配置文件自动设置本地或纱线集群的主要内容,如果未能解决你的问题,请参考以下文章

使用纱线资源管理器的困惑

未绑定方法 createDataFrame()

在eclipse 中运行scala程序 报错如下:

SparkSpark之Transformation和Action

再识spark

spark scala wordcount 例子