yarn

一.yarn是什么?

资源管理器

二.yarn的架构设计

核心思想是将JobTracker的两个主要职责:资源管理和任务调度,分别交给两个角色负责(解耦)

一个是全局ResourceManager(管理全局资源),一个是每个应用中唯一的ApplicationMaster(管理大部分任务调度)

ResourceManager以及每个节点一个NodeMager构成了新的通用系统

        2.2基本组成:

YARN总体上仍然是Master/Slave结构(主从结构), ResourceManager为Master, NodeManager 为Slave.

YARN主要是由ResourceManager,NodeManager,ApplicationMaster和Container等几个组件构成

        2.3概略介绍

1Master/Slave结构(主从结构) 1个ResourceManager和多个NodeMnager

2Yarn由Client,ResourceManager,NodeManager,ApplicationMaster和Container组成

3Client向RsourceManager提交启动任务,杀死任务等命令请求

4ApplicationMaster由对应的计算框架编写的应用程序完成,每个应用程序对应一个

ApplicationMaster,ApplicationMaster向ResourceManager申请资源用在NodeManger上启 动相应的Task

 6NodeManager向ResourceManager通过心跳信息汇报NodeManager监控状况、任务执行状况、领取任务等

        2.4详细介绍

Client:面向用户提交Driver代码,作为用户变成的接口,与ResourceManager交互

ResourceManager:用来负责集群资源的统一管理和调度

        1>负责整个集群的资源的分配和调度

        2>处理来自客户端的请求,启动和杀死应用程序

        3>启动监控ApplicationMaster,一旦一个AM挂了之后,RM将会在另一个NM上启动该AM

        4>监控NM,接受NM的心跳汇报信息,查看NM的资源管理和使用

NodeManager:整个集群中有多个,负责单节点资源管理和使用

        1>.负责节点上的资源管理和任务分配

         2>.处理来自ApplicationMaster的命令

        3>.接受并处理来自ResourceManager的Container启动,停止的各种命令

        4>.周期向ResourceManager汇报本节点上的资源使用情况和Container的运行状态

ApplicationMaster:每个应用程序特有,负责应用程序的管理

        1>.数据的切分

        2>.为应用程序请求资源,并且分配任务

        3>.与NodeManager通信以启动,停止任务

        4>.任务的监控和容错

        5>.处理ResourceManager发来的命令,让NodeManager重启

Container:对任务运行环境的抽象

        1>.任务运行资源的抽象,封装了某个节点的多维度资源

        2>.任务命令启动、停止的执行单元

        3>.任务运行环境,任务运行在Container中

 

2.5运行流程的详解:

        1>用户向YARN中提交应用,

        2>RseourceManager分配资源Conrainer,并要求NodeManager启动ApplicationMaster

        3>.NodeManager启动资源运行ApplicationMaster

        4>.向ResourceManager申请资源

        5>.ApplicationMaster申请到资源后,发消息给NodeManager要求他启动任务

        6>.NodeManager执行任务,启动Container

        7>.Container反馈信息给ApplicationMaster让他掌握自己的活动状态,判断是否完成

        8>.ApplicationMaster向ResourceManager发送完成任务,请求你关闭

三.yarn调度策略

        1.MRv1的调度方式:集中式调度器,资源调度和应用程序的管理功能集中到单一进程完成,扩展性差。

        2.Yarn双层调度架构:

        3.常用调度策略:

                FIFO Scheduler

                只有一个队列

                Capacity Schedule(中庸之道)

                        多用户、分队列、ACL控制、不支持抢占式,队列内部依然是FIFO,也可以采用Fair

                Fair Scheduler

                        多用户、分队列、ACL控制、支持抢占式,队列内部不是FIFO,而是公平分配的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值