我正在寻找一种解决方案来运行大量任务并监控它们在集群上的状态。
详细说明:每个任务由 3-4 个 docker 包含的进程组成(每个进程都是一个 docker run 命令)。所有进程都必须在同一台服务器上运行。
我们所说的任务数量是一次爆发数百个任务。
我研究了几种基于 Mesos 的解决方案:
- Chronos - 似乎它在高负载下会动摇,并且在任何情况下都更倾向于重复(cron)作业。虽然我需要一次性(繁重的)工作。
- 自定义 Mesos FW - 似乎低级别需要我编写调度和重试机制,我会将其保存以备不时之需。
- Aurora - 这似乎很有希望,因为每个任务都在同一个节点上运行并由多个进程组成。不过,我在这里遗漏了一些:Aurora 似乎无法将多个任务作为单个作业的一部分运行。由于我的任务都具有不同的输入,因此我可以使用具有许多(例如 400 个)实例的单个作业,并且每个任务的第一个进程(其角色是从 S3 下载输入)可以根据实例 ID 下载不同的集合. 这给我带来了另一个问题:我找不到在 .aurora 文件中使用 {{ mesos.instance }} 的工作示例,谁能给我一个示例?
感谢所有吃鱼的人