26.1 简介
Mesos最初由UC Berkeley的AMP实验室于2009年发起,遵循Apache协议,目前已经成立了Mesosphere公司进行运营。Mesos可以将整个数据中心的资源(包括CPU、内存、存储、网络等)进行抽象和调度,使得多个应用同时运行在集群中分享资源,并无需关心资源的物理分布情况。
如果把数据中心中的集群资源看做一台服务器,那么Mesos要做的事情,其实就是今天操作系统内核的职责:“抽象资源+调度任务”。
Mesos项目主要由C++语言编写,项目官方地址为http://mesos.apache.org,代码仍在快速演化中,已经发布了正式版1.0.0版本。
Mesos拥有许多引人注目的特性,包括:
·支持数万个节点的大规模场景(Apple、Twitter、eBay等公司的实践)。
·支持多种应用框架,包括Marathon、Singularity、Aurora等。
·支持HA(基于ZooKeeper实现)。
·支持Docker、LXC等容器机制进行任务隔离。
·提供了多个流行语言的API,包括Python、Java、C++等。
·自带了简洁易用的WebUI,方便用户直接进行操作。
值得注意的是,Mesos自身只是一个资源抽象的平台,要使用它往往需要结合运行其上的分布式应用(在Mesos中被称作框架,framework),比如Hadoop、Spark、Marathon、Elasticsecrrch等大部分时候,用户只需要跟这些框架打交道即可,完全无需关心底下的资源调度情况,因为Mesos已经自动帮你实现了。这大大方便了上层应用的开发和运维。
当然,用户也可以基于Mesos打造自己的分布式应用框架。
