Hadoop2.x YARN架构

Hadoop 2.X YARN架构

概述:Hadoop2.X 摒弃了1.X中JobTracker扮演的资源调度角色,改用具有更具通用性的YARN 资源管理框架,而YARN本身更是开源集群资源管理的典范.

资源调度:

|  切割资源管理和作业调度,监控到不同的守护进程中[daemons],YARN提供了一个全局的资源管理器ResourceManager(RM),每一个应用程序有自己独立的ApplicationMaster (AM).一个应用程序可以是一个独立的job或者众多job中的一个DAG[有向无环图];

|  ResourceManager 和NodeManager 来源与数据计算框架,ResourceManager 是系统中资源分配的顶级仲裁者,NodeManager运行于计算节点上负责代理Container[应用程序容器],监控Continar的资源(CPU,内存,磁盘,网络)使用情况,报告状态给ResourceManager/Scheduler

|  每个应用程序的ApplicationMaster是一个特殊的”管理员",负责从ResourceManager中谈判资源,调度NodeManager去执行和监控任务.


资源管理器::

|  ResourceManager有两个主要组件,Scheduler 和ApplicationManager,

|  Scheduler负责为各种应用程序分配资源,使用队列等方式进行约束,Scheduler是纯粹的调度器,不执行对应用程序的监视和状态跟踪,提供无保障的重启由于应用程序故障或者硬件故障而失败的任务, 调度器按照应用程序的资源请求进行调度,这里所谓的资源是抽象的概念,包含CPU,内存,磁盘,网络等.

|  Scheduler,有一个可插拔的策略,基于队列,应用程序的集群资源调度,现有的如基于应用需求的Capacity调度和公平调度FairScheduler

|  ApplicationManager负责作业的提交,为ApplicationMaster的执行容器谈判资源,以及在失败的时候重启ApplicationMaster容器.每一个应用程序的ApplicationMaster负责从Scheduler处为当前引用程序执行所有容器谈判适当的资源.跟踪容器的执行状态和进度.

|  Hadoop2.x中兼容了Hadoop1.X中的MapReduce架构

|  Yarn 支持资源预留,以保证某些特殊的作业有足够的资源运行

猜你喜欢

转载自blog.csdn.net/u010820702/article/details/68952856