美文网首页
大数据面试 | 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