先说结论:
1)对于大数据类应用(spark、hadoop)等固定领域的大规模应用,用mesos。
2)其他应用都优先考虑kubernetes。
3)swarm不考虑。
Mesos
Mesos集群资源调度平台,自身只是一个资源抽象平台,需要结合其上具体的分布式应用,才能实现具体的功能,需要大量的二次开发工作,但是mesos在固定领域中性能是最优的,集群节点可达上万台。
Mesos 目前支持的应用框架分为四大类:长期运行任务(以及 PaaS)、大数据处理、批量调度、数据存储。
分类 | 框架 | 说明 |
---|---|---|
长期运行的服务 | Aurora | 利用 Mesos 调度安排的任务,保证任务一直在运行。提供 REST 接口,客户端和 webUI(8081 端口) |
Marathon | 一个私有 PaaS 平台,保证运行的应用不被中断。如果任务停止了,会自动重启一个新的相同任务。支持任务为任意 bash 命令,以及容器。提供 REST 接口,客户端和 webUI(8080 端口) | |
Singularity | 一个私有 PaaS 平台。调度器,运行长期的任务和一次性任务。提供 REST 接口,客户端和 webUI(7099、8080 端口),支持容器。 | |
大数据处理 |