码迷,mamicode.com
首页 > 其他好文 > 详细

Yarn架构

时间:2019-04-20 15:44:25      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:text   交互   node   proc   注册   应用程序   步骤   vpd   任务   

Yarn是为了解决MRv1中JobTracker负载过重,而设计的第二代MR运行架构。
yarn是个master/slave结构,master节点运行Resourcemanager,slave节点运行nodemanager。
技术图片

  1. RM主要有两个组件:资源调度器(scheduler)和应用程序管理器(Applications Manager)
    scheduler主要进行资源调度,不进行任何与应用程序相关的动作,主要包括Capacity Scheduler和Fair scheduler。
    ASM:主要负责提交、启动以及监控每个application的application master
  2. AM
    每个作业都有一个application master来监控和管理自己的所有任务,具备的功能包括:
    a,与RM交互获取任务运行的资源;
    b,与NM交互提交任务、监控任务运行情况等
  3. NM
    一般集群中每个节点启动一个NM,NM不但向RM发送心跳,汇报本节点的资源使用情况;并与AM交互,接收并处理来自AM的所有关于container的请求。
  4. container
    一个逻辑概念,抽象的资源表示形式,可以代表一组多维度资源,目前yarn主要支持cpu和内存。

yarn工作流程

技术图片
向yarn提交一个应用程序后,yarn主要分为两个步骤:第一步先启动application master;第二步由AM启动并监控本application中的所有任务,直到完成。

  1. 向yarn提交应用程序,包含application master程序,以及启动am的命令;
  2. RM为AM分配一个container,并与NM通信启动container来运行这个AM(这是唯一一个由RM和NM通信启动的container,其它的container都是AM与NM通信启动)
  3. AM启动之后,主动向RM发送心跳注册自己,此时RM可以监控这个AM,我们可以在yarn web页面上看到这个任务;
  4. AM轮询方式向RM申请和获取资源;
  5. AM获取到资源后,与NM通信要求启动任务;
  6. NM设置任务运行环境,启动任务;
  7. 各个NM上的任务,不断通过RPC向AM发送心跳,汇报自己的状态和进度;
  8. 任务全部完成后,AM向RM注销自己。

Yarn架构

标签:text   交互   node   proc   注册   应用程序   步骤   vpd   任务   

原文地址:https://blog.51cto.com/4876017/2381878

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!