【问题标题】:Why marathon does not terminate jobs after the quorum is lost?为什么在失去法定人数后马拉松不会终止工作?
【发布时间】:2015-02-12 19:52:23
【问题描述】:

我正在使用 Apache mesos 和 marathon。我有 3 个主节点和 3 个从节点。我用 quorum 2 配置 mesos。后来我发布了一个 JSON 来运行一项马拉松作业,一切看起来都很好。

然后我尝试关闭两个主节点以打破仲裁,在此之后,mesos 取消注册所有从节点并且一切看起来都正常,但是当我检查从节点时,我发现启动的作业正在继续运行......这是正常的?我假设在失去法定人数后马拉松会停止所有工作

【问题讨论】:

    标签: mesos mesosphere marathon


    【解决方案1】:

    Mesos 哲学的一部分,特别是对于长期运行的服务,是一个或多个 Mesos 组件的故障不需要停止用户应用程序。

    如果从属服务器关闭并且框架启用了检查点,则执行程序驱动程序将在关闭执行程序/任务之前等待从属服务器的--recovery_timeout(默认 15 分钟)。为防止这种情况,请在您的框架上禁用检查点(在 Marathon 中,只需在启动 Marathon 时设置 --checkpoint=false)。另请参阅 https://mesosphere.github.io/marathon/docs/command-line-flags.html 上的 Marathon 的 --failover_timeout

    另一方面,如果只是 Masters/ZKs 关闭,而 Slaves 仍在运行,slave 仍然可以监视任务并排队状态更新,因此任务可以保持活动状态。如果 ZK 失去 quorum,则没有领导 master,每个 slave 将继续独立运行,直到检测到新的 leader,此时它将向 master 重新注册并发送任何排队状态更新。

    【讨论】:

      猜你喜欢
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2015-09-04
      • 2020-08-02
      相关资源
      最近更新 更多