美文网首页
大数据面试 | 04 MR2.0 最重要要的变化---YARN

大数据面试 | 04 MR2.0 最重要要的变化---YARN

作者: 彬彬有李学数据 | 来源:发表于2020-02-25 10:29 被阅读0次

    YARN成员介绍

    YARN工作流程

    1. YARN成员介绍

    YARN:Yet Another Resource Negotiator;
    Hadoop 2.0新引入的资源管理系统,直接从MRv1演化而来的;

    核心思想:将MRv1中JobTracker的资源管理和任务调度两个功能分开,分别由ResourceManager和ApplicationMaster进程实现
    • ResourceManager:负责整个集群的资源管理和调度
    • ApplicationMaster:负责应用程序相关的事务,比如任务调度、任务监控和容错等
    YARN的引入,使得多个计算框架可运行在一个集群中
    • 每个应用程序对应一个ApplicationMaster
    • 目前多个计算框架可以运行在YARN上,比如MapReduce、Spark、Storm等
    MR2.0 .png

    YARN:解耦资源与计算

    ResourceManager
    • 主,核心
    • 集群节点资源管理
    NodeManager
    • 与RM汇报资源
    • 管理Container生命周期
    • 计算框架中的角色都以Container表示
    Container:【节点NM,CPU,MEM,I/O大小,启动命令】
    • 默认NodeManager启动线程监控Container大小,超出申请资源额度,kill
    • 支持Linux内核的Cgroup

    MR :

    MR-ApplicationMaster-Container
    • 作业为单位,避免单点故障,负载到不同的节点
    • 创建Task需要和RM申请资源(Container /MR 1024MB)
    Task-Container

    Client:

    • RM-Client:请求资源创建AM
    • AM-Client:与AM交互

    2. YARN成员介绍

    MR2.0.png
    1. 客户端向yarn提交作业,yarn会启动ApplicationsManager,让它来管理作业
      RM会为作业分配对应的NM并且通信,开启作业的ApplicationMaster
    2. ApplicationMaster会向ApplicationsManager注册,这样用户可以在页面上实时查看任务进度等信息
    3. ApplicationMaster轮询的通过RPC向ResourceScheduler申请资源
      在ApplicationMaster领取到资源后,会与对应的NM通信要求开启Task
    4. NM为任务设置好运行环境后,将任务的启动命令写到一个脚本中,并通过该脚本启动并运行任务
    5. 各个Task通过RPC向ApplicationMaster汇报,以让application master随时掌握各个任务的运行状态,从而在任务失败时,重启启动任务
    6. 作业结束后,ApplicationMaster向ApplicationsManager注销并关闭自己

    相关文章

      网友评论

          本文标题:大数据面试 | 04 MR2.0 最重要要的变化---YARN

          本文链接:https://www.haomeiwen.com/subject/joliqhtx.html