分布式系统内核
Mesos采用与Linux kernerl相同的机制,只是运行在不同的抽象层次上。Mesos kernel利用资源管理和调度的API在整个数据中心或云环境中运行和提供引用(例如,Hadoop,Spark,Kafaka,Elastic Search)。即Apache Mesos在整个数据中心根据资源利用率和资源占用情况,在整个数据中心内进行任务的调度 。
主要特性:
Mesos是支持在多种计算集群框架(frameworks)间共享服务器集群的平台,利用HADOOP,MPI。提高了集群资源占用率,避免了每种框架的数据重复。Mesos能够镜像细粒度的资源共享,通过轮流的读取磁盘数据是的frameworks能从本地获取数据。为了满足复杂的资源调度方法,Mesos引入了称为资源提供的(resource offer)的2层资源调度机制。Mesos决定多少资源分配给frameworks,frameworks决定接受多少资源和决定哪个任务使用多少资源。
Mesos的目标场景细粒度的在不同的frameworks之间共享资源。
Apache Mesos架构Mesos由Mesos master,Mesos slave即其上的任务组成。Mesos master通过resource offer的方式在不同的应用间进行资源共享。每个resource offer包含一个列表。Master按照给定的策略,为每个framework分配资源,利用公平调度、按优先级调度。Mesos提供了插件机制来扩展,资源分配策略。
运行于Mesos之上的framework有两部分组成:注册到Mesos中的调度器、运行在slave节点的任务执行进程。Master决定分配多少资源每个framework,framework调度器决定使用master提供的资源哪些资源,然后framework将需要运行任务的描述传递给Mesos。接着,Mesos在指定的slave上运行任务。
Mesos的核心思想是提供2-layer调度机制,来完成在不同的framework之间进行资源共享。用以满足在同一个集群内,同时运行spark,hadoop等不同计算集群的需求。同时,通过zookeeper来保证高可用。
参考:
1 http://mesos.berkeley.edu/mesos_tech_report.pdf
2 http://mesos.apache.org/documentation/latest/mesos-architecture/