yarn

作者: 程序男保姆 | 来源:发表于2020-08-21 10:30 被阅读0次
  • yarn 产生背景

    1. mapreduce 存在的问题:单点故障 & 节点压力大不易扩展
    2. jobtracker 负责资源管理和作业调度
    3. tasktracker
  • yarn 架构

    1. ) ResourceManager: RM

       (1) 整个集群同一时间提供服务的ResourceManager(RM)只有一个,负责集群资源的统一管理和调度
       (2)处理客户端的请求:提交一个作业 | 杀死一个作业
       (3) 监控我们的NodeManager(NM),一旦某个      NodeManager(NM)挂了,那么该NodeManager(NM)
        上运行的任务需要告诉我们的ApplicationMaster(AM)来如何进行处理
      
    2. ) NodeMagnager: NM

       (1) 整个集群中有多个,负责自己本身节点资源管理和使用
       (2) 定时向ResourceManager(RM)回报本节点的资源使用情况
       (3) 接收并处理来自ResourceManager(RM)的各种命令:启动Container
       (4) 处理来自ApplicationMaster(AM)的命令
       (5) 处理来自单个节点资源管理
      
    3. ) ApplicationMaster: AM

       (1) 每个应用程序对应一个:MR Spark 负责应用程序的管理
       (2) 为应用程序向RM申请资源(core memory)分配给内部的task
       (3) 需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面
      
    4. ) Container

       (1) 封装了所需要的资源的一个容器。
      
  • yarn 执行流程

    1.) client向yarn提交一个应用程序

    2.) resourceManager为该应用程序分配一个Container,与对应的nodeManager进行通信, 要求它在此nodeManager的container中启动applicationMaster

    3.) applicationMaster向resourceManager注册,这样用户可以直接通过resourceManager查看应用程序的运行状态

    4.) applicationMaster为各个任务向resourceManager请求资源

    5.) 请求到资源后与nodeManager进行通信,要求启动任务

    6.) nodeManager启动各个task任务

    7.) 各个任务task向applicationMaster报告状态和进度

    8.) task任务完成后applicationMaster向resourceManager请求注销自己

    image.png

相关文章

网友评论

      本文标题:yarn

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