【问题标题】:Mesos cluster does not recover when physical host restart物理主机重启时 Mesos 集群无法恢复
【发布时间】:2016-05-13 17:14:12
【问题描述】:

我在 Ubuntu 14.04 上的 3 台主机上使用 mesosphere,如下所示:

  • 一个有 mesos 主的
  • 两个与 mesos 从属

一切正常,但重新启动所有物理主机后,所有计划的作业都丢失了。 正常吗?预计zookeeper会保存当前jobs,等系统需要重启时,master boot后所有jobs都会重新调度。

更新: 我在同一个节点上使用 marathon 和 mesos,并且我正在运行带有标志 --zk

的马拉松

【问题讨论】:

  • 你用的是什么调度器?
  • @KirkSpaziani,我正在参加马拉松比赛
  • 你能检查一下zookeeper的状态吗?

标签: apache-zookeeper mesos mesosphere


【解决方案1】:

启用 marathon 的 --zk--ha 后,Marathon 应该将其状态存储在 ZK 中并在重启时恢复它,只要 Mesos 允许它使用相同的框架 ID 重新注册。

但是,您还需要启用 Mesos 注册表(即使对于单个主节点),以确保 Mesos 保留有关在主节点故障转移事件中注册了哪些 frameworkId 的信息。这可以通过设置--registry=replicated_log(默认)、--quorum=1(因为您只有 1 个主服务器)和--work_dir=/path/to/registry(存储状态的位置)来实现。

【讨论】:

    【解决方案2】:

    我按照这个安装说明解决了这个问题:How To Configure a Production-Ready Mesosphere Cluster on Ubuntu 14.04

    【讨论】:

    • 您能否在此答案中留下一套完整的说明,而不是仅仅留下链接?这样一来,即使链接断开,也可以帮助未来的 Stack Overflow 访问者。
    【解决方案3】:

    虽然您找到了解决方案,但我想对此问题进行更多解释:)

    在官方文档中:http://mesos.apache.org/documentation/latest/slave-recovery/

    注意,如果从机上的操作系统重新启动,所有 在主机上运行的执行者和任务被杀死并且不会 主机恢复后自动重启。

    所以 Mesos 上的所有框架都将在重启后被杀死。重新启动框架的一种方法是在 Marathon 上运行所有框架,这将管理其他框架并在需要时重新启动它们。

    但是,您需要在 Marathon 被杀死时自动重启它。在您提到的 digitialocean 链接中,Marathon 是使用 init.d 中的脚本安装的,因此可以在重新启动后重新启动。否则,如果您通过源代码安装 Marathon,则可以使用 supervisord 等工具监控 Marathon。

    【讨论】:

      猜你喜欢
      • 2019-11-24
      • 2016-08-21
      • 2017-08-12
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 2022-10-21
      相关资源
      最近更新 更多