Yarn学习记录

1. 什么是YARN

yarn(Yet Another Resource Negotiator,另一种资源协调者),是一种Hadoop资源管理器,可以作为底层应用(可以理解为大数据集群的统一管理者,类似于操作系统的概念)位上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

优点:

  1. 更加的多样化:yarn可以让Hadoop可以运行多种类型的应用程序

  2. 资源隔离盒多租户支持:Yarn支持在一个集群中运行多个应用程序,并能够对资源进行有效隔离,这样可以让多个团队共用同一个集群

  3. 支持更大规模的集群:Yarn能够管理成千上万个节点和作业

  4. 更灵活的作业调度:支持多种作业调度策略,如FIFO、容量调度器、公平调度器,还可以自定义调度器

    1.1 Yarn的架构

    Yarn有以下几个基础组件

    1. ResourceManager(资源管理器):Yarn集群中的Master,主节点,负责整个集群中的资源分配和作业调度。

    1.1 Scheduler :根据不同的任务需求,分配集群的计算资源给任务;决定任务的执行顺序;动态调整集群计算资源

    1.2 ApplicationsManager :负责管理应用程序的生命周期,如接收客户端请求,创建ApplicationMaster,监控AM的状态,管理并记录日志

    2. NodeManager(节点管理器):每个节点都运行一个NodeManager,用来管理该节点上的资源,并与RM进行通报情况

    2.1 ApplicationMaster(应用程序管理器):每一个提交到Yarn集群的应用程序都有对应的AM,AM负责与RM协商资源、监控作业进度,并对RM请求更多资源或报告作业完成情况

    2.2 Container(容器):容器是YARN中的基本执行单位,它包含了运行应用程序所需的计算资源、环境变量等信息。Container是一个动态的资源划分单位,它是根据实际提交的应用程序所需求的资源自动生成的,换句话说,Container其里边所描述的CPU、内存等资源是根据实际应用程序需求而变的。

    Yarn上运行的应用程序

    (图片引用自:深入解析Apache Hadoop YARN:工作原理与核心组件-CSDN博客

    img

在这里插入图片描述

1.2 Yarn的优点

  1. 扩展性好:

hadoop的MRv1体系中由于是JobTracker承担了资源管理和作业控制,导致资源管理需要处理大量RPC请求,负载过大。

而Yarn中的资源管理有RM进行,作业控制由AM进行,AM位于NM上面,因此扩展性更好

  1. 可靠性好:

MRv1采用了Master/slave结构,Master存在单点故障问题,Yarn中RM可以使用Zookeeper实现高可用,RM将自己注册如Zookeeper中,如果活跃的RM遇到故障,会通过切换来继续为集群提供服务

  1. 资源利用率高:

MRv1基于曹伟的资源分配模型进行资源划分,通常一个任务不会用完曹伟对应的资源,且其他任务也无法使用这些资源(Hadoop将槽位分为Map Slot 和 Reduce Slot两种,且不允许他们之间共享。而Yarn可以通过Scheduler进行资源调度,有多种调度方法,最基础的资源调度单位为Container

  1. 支持多种计算框架

    MRv1仅能基于MapReduce这种离线计算框架进行处理,而Yarn可以适配新型框架

2. Yarn的调用流程

2.1 作业处理全流程

(图片来源YARN框架和其工作原理流程介绍_绘制yarn组成结构,其中包含:rm(scheduler,applications manager)-CSDN博客

img

  1. Client与RM建立连接,提交应用程序

  2. RM中的AM为该应用程序分配第一个Container,并与Container所在的NM进行通信,然后在该Container中启动对应的ApplicationMaster

  3. ApplicationMaster向RM注册,用户可以通过RM查看到应用程序的运行状态,然后为该应用程序的各个任务申请资源,并监控运行状态

  4. ApplicationMaster采用轮询的方式通过RPC协议向RM申请和领取资源

  5. ApplicationMaster申请到资源后与对应的NM通信,在申请到的Container中创建任务

  6. NM为要启动的任务配置号运行环境

  7. 任务通过RPC向ApplicationMaster进行汇报

  8. ApplicationMaster在任务处理结束后向RM通信,注销和关闭自己

    整个工作流程中NM和RM都通过心跳保持联系,AM使用GRP协议让NM启动或停止Container,并获取各个Container的使用状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值