zoukankan      html  css  js  c++  java
  • 集群资源管理与调度概要

    背景知识:

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

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

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

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

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

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

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

    对比一下动态和静态:

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

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

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

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

    资源管理抽象模型:

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

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

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

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

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

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

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

      通用架构:

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

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

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

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

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

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

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

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

  • 相关阅读:
    机器学习进度(六)—— 主成分分析
    留言版
    打赏
    第十四周总结
    第十三周总结
    软件测试读后感(二)
    第十二周总结
    第十一周总结
    软件测试读后感(一)
    虚拟机常用shell命令
  • 原文地址:https://www.cnblogs.com/codeblock/p/5554354.html
Copyright © 2011-2022 走看看