EC2容器服务与Apache Mesos

p.m*_*aes 2 cron scheduler amazon-ec2 mesos

我们希望使用Docker容器在集群环境中运行我们的批处理作业.我们正在评估使用AWS ECS Container Service/Chronos/Mesos.据我所知,Apache Mesos具有EC2所具有的一些重叠特性/目的,如集群管理.Chronos是一个分布式调度程序.

我很难将所有这些技术联系起来以创建一个架构!

EC2服务取代Mesos?调度程序怎么样?

我们是一个小团队,在集群开发方面几乎没有经验.哪个堆栈更适合我们的批处理?

编辑 我做了一个巨大的编辑,我想现在我理解架构:

在此输入图像描述

这是一张由Mesos管理的两个集群的示例图片.

阅读ECS容器服务文档(http://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html),AWS正在整合ECS与Mesos Apache Framework.所以我想在将来使用mesos框架来管理ECS集群中的资源.因此,可以使用Chronos(用于批量调度)和Marathon(用于长时间运行的app).

编辑 此时此刻,我们没有分布式工作,例如hadoop工作或火花工作.我们的工作要简单得多,在EC2的单个实例上运行.我们计划使用Docker来运行批处理运行的作业.

Mic*_*las 5

我认为这取决于批处理作业的类型,但Apache Mesos生态系统肯定比ECS更灵活,以满足您的需求.灵活性来自Mesos使用所谓的两级调度模型这一事实,这是一个奇特的名称,它将调度决策外包到框架中(而不是试图在其核心中实现每个现有和未来的工作负载调度策略,本身).

你已经提到了一个这样的框架,Chronos,这是一个很好的工作马,只是也许不使用依赖的工作,好吗?然后是另一个名为库克的伟大批处理框架.根据您的需要(例如基于SQL的批处理报告生成),您可以使用Apache Spark.等等等等.

顺便说一下,我是否已经提到过Mesos你不会冒着供应商锁定的风险,同时能够根据你的需要,在一个云(例如AWS),混合云(比如AWS和GCP /)中部署它Azure)还是内部部署?

更新:澄清,当然Mesos拥有一流的Docker支持.