Yarn 的基本思想

Yarn 的基本思想,第1张

  • YARN的基本思想是将资源管理和调度及监控功能从MapReduce分离出来,用独立的后台进程实现。


    这个想法需要有一个全局的资源管理器(ResourceManager),每个 应用还要有一个应用主管(ApplicationMaster)。


    应用可以是一个单独MapReduce作业,或者是一个作业的有向无环图(DAG)。


资源管理器和节点管理器(NodeManager)构成了分布式数据计算框架。


资源管理器是系统中所有应用资源分配的最终仲裁者。


节点管理器是框架中每个工作节点的代理,监控节点CPU、内存、磁盘、网络等资源的使用,并且报告给资源管理器。


每个应用对应的ApplicationMaster实际上是框架中一组特定的库,负责从资源管理器协调资源,并和节点管理器一起工作,共同执行和监控任务。


资源管理器有两个主要组件:调度器和应用管理器。


调度器负责给多个正在运行的应用分配资源,比如对每个应用所能使用的资源做限制,按一定规则排队等。


调度 器只负责资源分配,它不监控或跟踪应用的状态。


而且,当任务因为应用的错误或硬件问题而失败后,调度器不保证能重启它们。


调度器根据应用对资源的需求执行其调 度功能,这基于一个叫做资源容器的抽象概念。


资源容器由内存、CPU、磁盘、网络等元素构成。


调度器使用一个可插拔的调度策略,将集群资源分配给多个应用。


当前 支持的调度器如CapacityScheduler和FairScheduler就是可插拔调度器的例子。


  • 应用管理器负责接收应用提交的作业,协调执行特定应用所需的资源容器,并在ApplicationMaster容器失败时提供重启服务。


    每个应用对应一个ApplicationMaster,它向 调度器请求适当的资源容器,并跟踪应用的状态和资源使用情况。


H

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/564574.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-06
下一篇 2022-04-06

发表评论

登录后才能评论

评论列表(0条)

保存