gpt4 book ai didi

java - Apache Spark : what's the designed behavior if master fails

转载 作者:搜寻专家 更新时间:2023-11-01 03:37:29 24 4
gpt4 key购买 nike

我们在独立的 Spark 集群中运行我们的计算,版本 1.0.2 - 之前的主要版本。我们没有配置任何 HA 或恢复逻辑。驱动程序端的一项功能使用传入的 JMS 消息并将相应的作业提交给 spark。

当我们关闭单个且唯一的 Spark master(用于测试)时,驱动程序似乎无法正确判断集群不再可用。这会导致 2 个主要问题:

  1. 驱动程序无休止地尝试重新连接到主机,或者至少我们不能等到它放弃。
  2. 由于上一点,新作业的提交 block (在 org.apache.spark.scheduler.JobWaiter#awaitResult 中)。我认为这是因为没有报告集群无法访问/关闭,并且提交只是逻辑等待,直到集群恢复。对我们来说,这意味着我们会很快耗尽 JMS 监听器线程,因为它们都被阻塞了。

您可以在 Spark 上配置一些与 akka 故障检测相关的属性,但是:

  1. 官方文档强烈建议不要启用 akka 的内置故障检测。
  2. 我真的很想了解默认情况下这是如何工作的。

那么,如果独立部署模式下的单个 spark master 发生故障/停止/关闭,任何人都可以解释一下设计的行为是什么。我无法在互联网上找到任何关于此的合适文档。

最佳答案

默认情况下,Spark 可以处理 Workers 故障,但不能处理 Master(Driver)故障。 如果 Master 崩溃,则无法创建新的应用程序。因此,他们在这里提供了2种高可用方案:https://spark.apache.org/docs/1.4.0/spark-standalone.html#high-availability

希望对您有所帮助,

乐国岛

关于java - Apache Spark : what's the designed behavior if master fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406054/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com