了解spark --master

时间:2016-03-09 20:47:58

标签: apache-spark yarn master

我有一个简单的spark应用程序,它从配置文件中读取master:

new SparkConf()
  .setMaster(config.getString(SPARK_MASTER))
  .setAppName(config.getString(SPARK_APPNAME))

运行我的应用程序时会发生什么,如下所示:

spark-submit --class <main class> --master yarn <my jar>

我的主人会被覆盖吗?

我更喜欢以标准方式提供主服务器,所以我不需要在我的配置中维护它,但接下来的问题是如何直接从IDEA运行这个工作?这不是我的应用程序参数,而是spark-submit参数。

为了澄清我想要的最终产品应该:
当使用--master yarn在集群中运行时,将使用此配置
从IDEA运行时将使用本地[*]

运行

1 个答案:

答案 0 :(得分:2)

  1. 不要将母版设置为代码。
  2. 在制作中你可以使用--master的{​​{1}}选项,它会告诉火花哪个主人使用(你的情况下是纱线)。 spark-defaults.conf文件中spark-submit的值也可以完成工作(优先级是spark.master,然后是配置文件中的属性)
  3. 在IDEA中...我知道在Eclipse中你可以在运行配置--master中传递一个VM参数,例如(https://stackoverflow.com/a/24481688/1314742)。 在IDEA中,我认为它没有太大的不同,您可以检查here以添加VM选项