大数据日知录【第四章:集群资源管理与调度】笔记--这些资源怎么调度?

面对各种各样的服务需要的计算系统和框架,对于资源而言,常见的资源调度方法时静态划分方法,框架之间各行其是,但是利用效率低。

调度设计的基本问题:

  资源具有异质性(有的机器配置高,有的低)所以要分成一个个小粒度的资源  

  数据局部性(移动计算而不是移动数据)

  支持抢占资源 or not

  分配资源粒度:全分or不分(MPI)  或者 增量满足式分配策略(MapReduce)

目前的发展将资源看成一个整体,上方抽象出一个资源调度系统。

常用的资源调度系统模型:

  负责执行job的机器有一个节点管理器且可划分为多个相互隔离的容器,每一个容器(Container)都可以执行任务,节点管理器一方面负责本机向资源收集器汇报自己的资源情况,另外一方面负责将任务纳入到本机的某一个容易中执行。

  调度器由资源收集器和资源调度策略构成,资源收集器收集节点回传回来的资源状态并反映到资源池中,资源调度策略是负责具体将哪些可用资源分配给哪些任务。

  常见的调度器有两级,第一级为中央调度器,可以看到有哪些资源,调度哪些资源分配给各个计算框架(粗粒度),第二季为框架调度器,根据中央调度器分配的资源进一步细粒度的进行资源调度。(Mesos,YARN)

Mesos:

  不支持抢占式,分配给计算框架资源然后等着它执行完,支持框架可拒绝分配和框架描述所需资源的功能,支持公平调度和优先级调度

YARN:

  RM(资源管理器)相当于中央调度器

  AM(应用管理器)担任二级调度器的角色  AM向RM申请资源并可以明确资源的配置要求并协调各个任务的执行

  NM(节点管理器),NM负责容器资源的管理,容器之间的依赖,容器之间资源的隔离等等。

原文地址:https://www.cnblogs.com/sunshisonghit/p/5995900.html