Mesos框架简介

翻译自Open source datacenter computing with Apache Mesos

框架:

Mesos由一个master进程和framework组成,master进程管理运行在集群节点上的slave daemon,framework是在这些slave节点上运行任务的计算框架(注:可以看作是Hadoop、Spark、Storm、MPI等计算框架)。master通过对计算框架提供资源,实现细粒度的资源分享。提供的资源为多个slave节点上的空闲资源(注:如CPU、内存、磁盘等)。master根据调度策略,如公平调度和优先级方式,来决定对每个计算框架提供多少资源使用。为了支持框架之间的分配策略多元化,Mesos通过插件式的分配模块,让组织者定义他们自己的(资源调度)策略。下图为有两个计算框架的的Mesos示意图。



       Mesos architecture with two running frameworks

运行在Mesos上的每个framework由两部分组成:调度器(Scheduler)和执行器(Executor)。Scheduler在master上注册,获取提供的资源,Executor进程在slave节点上启动,运行framework的任务。当master决定每个框架要使用多少资源后,framework的scheduler选择所提供的资源,当一个framework接受了提供的资源后,它会给mesos需要运行的任务的描述。

Framework scheduling in Mesos

上图显示了一个framework接受调度、运行任务的例子。在第一步中,节点slave 1向master报告它还有空闲资源4个CPU和4GB内存。master随之启动分配模块,模块收到的信息为:应该提供所有可用的资源给 framework 1。在第二步,master向frame1发送可提供的资源描述。第三步,framework的scheduler回应master信息:有两个任务要运行,第一个任务使用2个CPU和1GB内存,第二个任务使用1个CPU和2GB内存。第四步,master将任务发送到从slave节点,分配合适的资源给framework的executor,executor随后开启两个任务(图中虚线描述)。因为还有1个CPU和1GB内存的资源空闲,(master的)分配模块可能会立即将(slave1的)剩余资源分配给framework2。另外,资源提供进程将一直重复进行,直到任务结束,新的资源空闲出来。

猜你喜欢

转载自blog.csdn.net/liuj2511981/article/details/80440924
今日推荐