【发布时间】:2017-04-25 00:24:39
【问题描述】:
Spark 有native support by EMR。使用 EMR Web 界面创建新集群时,可以添加自定义步骤,在集群启动时执行 Spark 应用程序,基本上是集群启动后的自动 spark-submit。
我一直在想,当启动 EMR 集群并通过指定的 EMR 步骤提交 jar 文件时,如何在应用程序中为 SparkConf 指定主节点?
不可能事先知道集群主服务器的 IP,如果我手动启动集群,然后在调用 spark-submit 之前使用该信息构建到我的应用程序中,就会出现这种情况。
代码sn-p:
SparkConf conf = new SparkConf().setAppName("myApp").setMaster("spark:\\???:7077");
JavaSparkContext sparkContext = new JavaSparkContext(conf);
注意我问的是“集群”执行模式,所以驱动程序也运行在集群上。
【问题讨论】: