【发布时间】:2018-07-05 18:51:08
【问题描述】:
我在尝试在名为 mymaster 的 spark 集群中运行应用程序时遇到问题(我已经检查了配置文件中的名称,可以确定)。
我一直在使用以下方式运行该应用程序:
spark-submit --master spark://mymaster:7077 ...
但问题是我没有意识到我的代码在驱动程序中有以下几行:
val master = parameters.getOrElse("master", "local[*]")
val conf = new SparkConf().setAppName("myApp").setMaster(master)
val sc = new SparkContext(conf)
所以我想删除.setMaster(master) 部分,因为我认为“这是不必要的”。我这样做了,但出现以下错误:
ERROR cluster.StandaloneSchedulerBackend: Application has been killed. Reason: All masters are unresponsive! Giving up.
ERROR spark.SparkContext: Error initializing SparkContext.
这里https://stackoverflow.com/a/36197126/9759150 说:
直接在 SparkConf 上设置的属性具有最高优先级,然后是传递给 spark-submit 或 spark-shell 的标志,然后是 spark-defaults.conf 文件中的选项。
但如果我试着只放这个:
val master = parameters.getOrElse("master", "spark://hadoop-master:7077")
val conf = new SparkConf().setAppName("myApp").setMaster(master)
我得到同样的错误。
有什么想法吗?
【问题讨论】:
标签: apache-spark