温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Yarn架构

发布时间:2020-07-22 00:13:57 来源:网络 阅读:665 作者:afeiye 栏目:大数据

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

  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提交一个应用程序后,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注销自己。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI