分布式概念:调度(任务和资源匹配的过程)

调度,为用户任务寻找合适的服务器这个过程,在分布式领域中叫作调度。

单体调度


任务和分布式系统中的空闲资源直接进行匹配调度。
一个集群中只有一个节点运行调度进程,该节点对集群中的其他节点具有访问权限,可以搜集其他节点的资源信息、节点状态等进行统一管理,同时根据用户下发的任务对资源的需求,在调度器中进行任务与资源匹配,然后根据匹配结果将任务指派给其他节点。
单体调度器拥有全局资源视图和全局任务,可以很容易地实现对任务的约束并实施全局性的调度策略。

所有节点的资源以及用户的任务均由中央服务器统一管理和调度。因此,中央服务器很容易成为单点瓶颈,会直接导致其支持的调度规模和服务类型受限。

两层调度(Mesos)


比如,业务最开始时只有批处理任务,后来发展到同时还包括流数据任务,但批处理任务是处理静态数据,流数据任务却是处理实时数据。
为了提升调度效率,一层调度器只负责资源管理和分配,另外一层调度器负责任务与资源的匹配

资源的使用状态同时由中央调度器和第二层调度器管理,
中央调度器从整体上进行资源的管理与分配,将资源分配到第二层调度器;
再由第二层调度器负责将资源与具体的任务配对,因此第二层调度可以有多个调度器,以支持不同的任务类型。

在 Mesos 中,第一层资源调度由 Mesos 提供,第二层任务调度由框架提供,Mesos 将资源以 Resource Offer 的形式发放给框架调度器,框架调度器根据任务需求和得到的资源信息进行任务匹配调度,为此提高了调度的并发性。

Mesos 两层调度的基本原理
1.框架向 Mesos Master 注册;
2.Mesos Slave 节点定期或周期向 Mesos Master 上报本节点的空闲资源;
3.Mesos Master 的 Scheduler 进程收集所有节点的空闲资源信息,并以 Resource Offer 的方式将空闲资源发送给注册的框架;
4.框架的 Scheduler 接收到 Mesos 发送的资源后,进行任务调度与匹配,匹配成功后,将匹配结果下发给 Mesos Master,并由 Mesos Master 转发给相应节点的执行器执行任务。

Mesos 实现双层调度时,采用 Resource Offer 机制衔接了第一层和第二层调度。Resource Offer 机制指的是,Mesos Master 主动将节点空闲资源,以类似发放(Offer)的方式发给每个框架,如果框架需要则使用,不需要则还回。
通过 Resource Offer 机制,第一层调度将资源主动告知第二层调度,然后第二层调度进行具体的任务匹配,从而实现了任务调度与资源管理的分离,Mesos Master 通过资源分配算法决定给各个 Framework 提供多少资源,而 Framework 则决定接受哪些资源,以及哪些任务使用这些资源运行。这样一来,一个两层调度架构就实现了。

共享状态调度


共享状态调度,多个调度器,每个调度器都可以看到集群的全局资源信息,并根据这些信息进行任务调度。相较于其他两个调度架构来说,共享状态调度架构适用的集群规模最大。
这种调度架构的优点是,每个调度器都可以获取集群中的全局资源信息,因此任务匹配算法可以实现全局最优性。但,也因为每个调度器都可以在全局范围内进行任务匹配,所以多个调度器同时调度时,很可能会匹配到同一个节点,从而造成资源竞争和冲突。


 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值