集群资源管理与调度概要

Posted 做一个有情怀的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集群资源管理与调度概要相关的知识,希望对你有一定的参考价值。

背景知识:

很多互联网公司会有各种类型的工作任务,比如对外提供各种服务,内部的挖掘与数据管理系统。

即使内部数据系统也可能需要多种不同类型的计算系统:适应实时计算的挖掘系统。适合交互查询的系统

或者典型的批处理任务,面对多种各具特性的计算系统与框架,比较传统的资源管理方式采用的是静态资源划分方法

静态划分优点:简单,固定的硬件资源给固定的计算框架使用,各个框架各行其是,互补干扰。

    缺点:整体资源利用率不高,经常出现集群计算系统资源不足

所以需要动态的集群资源管理与调度,这方面的研究呢处于摸索期,发展趋势很不错哟!

话说掌握资源并分配资源的感觉很不错的,现实生活中我们很难实现的东东,可以在计算机当中去实现哦。

对比一下动态和静态:

  第一:动态会根据任务即时需要分配资源,不会出现资源闲置且不可用,也不会出现任务忙且不可得资源的尴尬局面。总之

增加资源利用率,降低硬件成本。

  第二:增加数据共享能力,共用的资源存储一份就行啦,

  第三:说白了就是支持多类型计算框架和多版本计算框架,使用资源管理与调度平台可以实现两者平滑切换,给运营带来便利。

资源管理抽象模型:

  资源管理与调度系统:YARN、Mesos、Corona、Quincy,从上述系统抽象两个模型:1,资源管理与调度的概念模型。2,通用架构

  目的:通过 一定策略把资源分配给用户提交到系统里的各种任务。

  资源:内存、cpu、网络资源、磁盘I/O

  概念模型聚焦三要素:资源组织模型、调度策略、任务组织模型

    1,资源组织模型:组织起来方便分配,像以前吃大锅饭一样,有一些组织的方式如“all resource->group->pool”三级队列,或者平级多队列或者但队列了等等吧。

    2,调度:熟知的FIFO、公平调度、能力调度、延迟调度等等吧,说白了就是按照什么方式分配资源。以前大跃进期间是按“分儿”分配,劳动多所得“分儿”就多。

    3,任务组织:job分配呀比如全局队列、机架对垒、节点队列等。说白了就是以前大跃进期间如何把活儿给组织起来,放牛的,耕地的,播种的,拔草的等等类似吧

  通用架构:

解释一下啊:1,每台机器都有节点管理器,负责收集它所在机器的资源使用情况,分配的任务放到不同容器执行,彼此隔离开,避免job彼此干扰。

      相当于大跃进期间的组长。每一个胡同一个组长,由他负责给村长汇报任务,汗!在这里它要给资源收集器汇报任务。这个收集器在把

      相关的信息反应给资源池,资源池列出目前可用的资源

      2,通用调度器构成:资源收集起、资源调度策略,资源池,工作队列

      3,调度策略:FIFO、公平调度、能力调度等,这家伙相当于大跃进期间村委书记,你家的牛羊粮食咋分,如何分,他说了算,汗!

        在这里系统应用者可根据具体情况设定符合业务状况的调度策略,当用户新提交作业时,其进入工作队列,等着分配使其可启动的资源。

总结:资源管理与调度说白了就是资源管理与分配,在现实生活中就是按需分配,把资源尽可能的分配到需要的job手中,

     无论是人还是计算机,采用何种分配策略,决定了你这个系统的性能问题,生活中我们常说“不患寡而患不均”,在计算机中资源管理与调度是根据具体
   场景而设定的,其实终极目的都是为了使资源分配的更加合理!依此为导向来决定分配策略会更加合理。

 

以上是关于集群资源管理与调度概要的主要内容,如果未能解决你的问题,请参考以下文章

yarn知识体系总结

Yarn的原理与资源调度

Docker&Kubernetes ❀ Kubernetes集群实践与部署笔记知识点梳理

Docker&Kubernetes ❀ Kubernetes集群实践与部署笔记知识点梳理

Kubernetes中资源的管理与调度

OPPO大数据计算集群资源调度架构演进