EC2 实例上的 Mesos Chronos 集群设计方案

Mesos Chronos cluster design solution on EC2 instaces

在 Amazon EC2 服务器上构建中间层解决方案所需的一些指导。

对于我的应用程序的暂存状态,我正在考虑在单个实例上启动一个主服务器和一个从服务器,然后在另一个实例上启动另一个从服务器。在 mesos 主节点之上加上 marathon 和 chronos 框架。

Marathon 应负责 运行 同一实例上的 http 服务器,它应作为中间层 API 的访问层。

Chronos 将用于 运行 1000 秒的非常简单的 bash 脚本(执行时间大约 1-5 秒)。 (在这部分不确定是否需要聚合作业)

  1. 我应该 运行 chronos 通过 marathon,还是只在我的主节点上将其作为服务启动?有什么不同吗?

  2. 对目前的架构设计有什么guidance/advice吗?

  3. 亚马逊对运行 mesosphere in amazon cloud有官方支持吗?

您可以 运行 一个主 mesos 集群只能在两台主机上运行,​​但它不会是 HA,因此不需要 运行 除了 mesos-slave 之外的任何东西的两个实例。

如果您真的只想使用两台主机并使用 mesos,我会推荐以下设置:

主机 1:

  • 动物园管理员
  • mesos-master
  • mesos-slave
  • 马拉松
  • 时空

主机 2:

  • mesos-slave

您需要将仲裁数配置为 1,并且 运行 集群也是如此(这样就不会发生主选举,如果 Host1 死亡,所有进程将停止执行)。在实践中,您可以 运行 两个 zookeeper 和 mesos-master 实例(我看到了这样的工作设置)但理论上领导选举可能会搞砸事情,因为只有 2 个 zookeeper 节点的仲裁设置。我的建议是至少使用 3 个主机(每个主机 运行 一个 zookeeper、mesos-master、mesos-slave、marathon 和 chronos,新主机只需要 运行 mesos-slave)。这样您就可以在主机停机的情况下进行管理。

如果您真的想坚持使用我已经给出的建议的两个主机设置,请询问我是否还没有回答。

另外我不知道亚马逊对 mesos 有任何官方支持。