zoukankan      html  css  js  c++  java
  • Yarn系列(一)——Yarn整体介绍

    1. Yarn的基本结构

    1.1. Yarn的组成结构

    Yarn总体是主/从(M/S)结构,ResourceManager(RM)是Master,NodeManager(NM)是Slave,RM负责对各NM上的资源进行统一管理和调度。Yarn主要由ResourceManager、NodeManager、ApplicationMater、Container等几个组件组成,如下图。

    结合这张图,简要说明一下任务提交过程:
    当用户提交一个程序时,RM会提供一个用来跟踪和管理这个程序的ApplicationMater(AM),一个程序拥有一个AM,AM负责向RM申请资源,并要求NM启动任务,资源概念在Yarn中是用Container表示。

    1.2. 组件简介

    • ResourceManager(RM)
      RM是全局的资源管理器,负责整个系统的资源管理和分配,主要由两个组件构成:调度器(Scheduler)和应用程序管理器(Application Manager,ASM)。
      • 调度器
        调度器根据容量、对列等限制条件,将资源分配给各个正在运行的程序。调度器根据程序资源需求进行分配资源,是一个“纯资源调度器”。
      • 应用管理器
        负责管理整个系统所有的应用程序,包括程序的提交、与调度器协商资源以及启动AM等。
    • ApplicationMater(AM)
      用户提交的每个程序都有一个AM,其功能主要有:资源的申请、任务的进一步分配、与NM通信以启动/停止任务、监控任务的运行状态等。
    • NodeManager(NM)
      NM是每个节点上的资源和任务管理器,其任务主要有两方面:
      • 通过定时的心跳向RM汇报本节点的资源使用情况以及Container的运行状况
      • 接收和处理AM的Container启动/停止等各种请求
    • Container
      是Yarn中资源的抽象,封装了如内存、CPU、磁盘、网络等资源,其是动态资源划分单位,根据程序的需求动态生成。
      ResourceManager作为Yarn的中枢,其地位尤为重要,下面将详细展开。

    2. ResourceManager简析

    RM负责集群所有资源的统一管理和分配。

    2.1. ResouceManager主要功能

    RM的主要功能有如下几点:

    • 与客户端交互,处理客户端的请求;
    • 启动和管理ApplicationMater,并在失败的时候重新启动(有次数限制);
    • 管理NodeManager,接受来自NM的资源汇报信息,并下达管理命令如kill Container;
    • 资源的管理与调度,接受来自AM的资源申请,并为之分配资源;

    2.2. ResourceManager内部架构

    RM的内部架构如下:

    Ref:

    • 《Hadoop技术内幕:深入解析YARN架构设计与实现原理》
  • 相关阅读:
    win32下使用相对exe文件的绝对路径资源
    修改Unity中Lua文件的默认打开程序
    Unity中巧用协程和游戏对象的生命周期处理游戏重启的问题
    Unity3D MonoBehaviour的生命周期(lifecycle)
    使用Doxygen + graphviz生成Unity 3d的UGUI类图
    IEEE 754二进制浮点数算术标准
    foxmail同步QQ邮箱里的所有文件夹
    Windows下的搜索神器 —— everything
    electron实现类似QQ来新消息时的闪烁与任务栏窗口提醒
    iOS 10.3下使用Fiddler抓取HTTPS请求
  • 原文地址:https://www.cnblogs.com/love-yh/p/13682004.html
Copyright © 2011-2022 走看看