• Yarn简介


    Yarn的概述

    YARN 是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,是 Hadoop2.x 版本中的一个新特性。

     Yarn中的角色

    Yarn也是主从结构,主要由ResourceManager、NodeManager、 ApplicationMaster和Container等几个组件构成。

    ResourceManager 是根据任务的需要对集群资源的需求进行调度的 YARN 集群主控节点,负责协调和管理整个集群(所有 NodeManager)的资源。

    NodeManager 是 YARN 集群当中真正资源的提供者,是真正执行应用程序的容器的提供者, 监控应用程序的资源使用情况(CPU,内存,硬盘,网络),并通过心跳向集群资源调度器 ResourceManager 进行汇报以更新自己的健康状态。同时其也会监督 Container 的生命周期管理,监控每个 Container的资源使用(内存、CPU 等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务(auxiliary service)。

    AppMaster 对应一个应用程序,职责是:向资源调度器申请执行任务的资源容器,运行 任务,监控整个任务的执行,跟踪整个任务的状态,处理任务失败以异常情况。

    Container 容器是一个抽象出来的逻辑资源单位。容器是由 ResourceManager Scheduler 服务动态分配的资源构成,它包括了该节点上的一定量 CPU,内存,磁盘,网络等信息,MapReduce 程序的所有 Task 都是在一个容器里执行完成的,容器的大小是可以动态调整的。Container是Yarn对计算机计算资源的抽象,它其实就是一组CPU和内存资源,所有的应用都会运行在Container中。

     简单点来说:

    1. 客户端(Client):向整个集群提交MapReduce作业。
    2. YARN资源管理器(ResourceManager):负责调度整个集群的计算资源。
    3. YARN节点管理器(NodeManager):在集群的机器上启动以及监控container。
    4. MapReduce应用管理器(MRAppMaster): 调度某个作业的所有任务. 应用管理器和任务运行在container中, container由资源管理器调度, 由节点管理器管理。

     Yarn资源调度流程

             RM == ResourceManager   NM == NodeManager

    1. 客户端将它的程序提交给Yarn。
    2. RM会给客户端返回一个jobid以及一个路径。
    3. 客户端会将对应的程序信息(jar包、切片信息、序列化文件)提交到对应的路径下。
    4. 提交完以后给RM返回一个确认。
    5. RM就会在存放提交信息的那台NodeManager上创建出来一个容器。启动我们的ApplicationMaster。
    6. ApplicationMaster会跟提交的切片信息和程序向RM注册,并申请容器。
    7. RM收到资源请求后,就去跟NM通信,NM就会在自身的节点上创建出需要的容器数量。
    8. ApplicationMaster就将相应的任务信息,发送到对应的NM节点上,并使用创建出来的container去运行Task。
    9. 运行ReduceTask。
    10. 等所有的Task都执行完以后,ApplicationMaster就向RM进行注销,RM就会回收资源。

    注意:applicationmaster将监听每一个nodemanager执行的情况并随时汇报给resourcemanager,知道最后任务执行完成,将回收所有的资源,如果发现有任务执行失败,则由applicationmaster来协调,减轻了resourcemanager的负担,如果applicationmaster在运行过程中出问题,resourcemanager没有接收心跳后,会再在所有nodemanager节点中选择一个节点来启动applicationmaster来继续工作。

    努力到无能为力,拼搏到感动自己
  • 相关阅读:
    IPV6地址中的%号什么意思
    比较分析C++、Java、Python、R语言的面向对象特征,这些特征如何实现的?有什么相同点?
    Linux 查看本机串口方法
    非对称加密与GPG/PGP
    bootstrap下拉三角
    bootstrap文本背景色
    bootstrap文本颜色
    bootstrap栅格系统响应式
    软件测试(一) 软件测试的阶段划分
    YoTube 视频如何下载
  • 原文地址:https://www.cnblogs.com/tkzm/p/11430395.html
Copyright © 2020-2023  润新知