zoukankan      html  css  js  c++  java
  • 大数据日知录【第四章:集群资源管理与调度】笔记--这些资源怎么调度?

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

    调度设计的基本问题:

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

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

      支持抢占资源 or not

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

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

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

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

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

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

    Mesos:

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

    YARN:

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

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

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

  • 相关阅读:
    表模块模式与事务脚本模式的代码编写
    解决方案下显示的网站名称被追加编号的问题解决方法
    应用层代码
    关于CodeReview(java)(转)
    关于事务的几个概念介绍(转)
    关于JVM的ClassLoader(转)
    svn相关
    .subversion
    linux用户与组的管理(命令加入、手动加入、加入组、用户之间的切换)
    回调函数
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/5995900.html
Copyright © 2011-2022 走看看