【问题标题】:Error when submitting multiple spark applications to standalone cluster将多个 Spark 应用程序提交到独立集群时出错
【发布时间】:2019-09-08 01:01:40
【问题描述】:

如果我使用 spark-submit 提交两个 spark 应用程序,第二个应用程序总是失败并出现如下错误。

Caused by: java.lang.IllegalStateException: Cannot call methods on a stopped SparkContext.
This stopped SparkContext was created at:
org.apache.spark.api.java.JavaSparkContext.<init>(JavaSparkContext.scala:58)

如果我一个一个提交它们,它们都运行良好,即等待上一个应用程序完成,然后再提交另一个。

我在这里缺少什么?我们的集群使用独立模式。

【问题讨论】:

  • 您检查 $SPARK_HOME$/logs 是否有错误?
  • @DanielSobrado 我发布的错误是我觉得唯一可能有用的东西。显然,并发应用程序之间存在某种冲突。

标签: apache-spark


【解决方案1】:

你应该检查几件事 -

  1. 检查您是否在 sparkcontext 上使用了 stop() 关键字。
  2. 你应该使用:

    sparksession.streams().awaitAnyTermination();

  3. 使用其日志检查 Spark-UI 上所有正在运行、失败和成功的作业。

【讨论】:

    【解决方案2】:

    让我知道您要提交什么类型的 Spark 作业。如果可能,添加失败的 Spark 应用程序的代码 sn-p。

    【讨论】:

      【解决方案3】:

      删除在 Spark 应用程序中显式初始化 SparkContext 后,此问题就消失了。潜在的机制仍然是个谜。

      【讨论】:

        猜你喜欢
        • 2016-10-15
        • 2016-12-10
        • 2018-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-06
        • 1970-01-01
        相关资源
        最近更新 更多