【问题标题】:Spark: ERROR Application has been killed. Reason: All masters are unresponsiveSpark:错误应用程序已被杀死。原因:所有master都没有反应
【发布时间】: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


    【解决方案1】:

    问题不在于代码。

    建议不要使用.setMaster(aMaster)设置master,而是使用--master aMaster设置spark-shell。

    但错误消息是由于当时 Spark 集群已关闭。

    【讨论】:

      猜你喜欢
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多