Hadoop Yarn 的基本架构以及工作机制分析

Hadoop Yarn 学习之路01

本文目的:在对Hadoop yarn进行源码分析之前,我们首先要搞懂它的基本架构,然后根据它的架构理解它的运作流程和工作机制,本文首先对其架构进行解读,然后分析它的具体工作流程。

  1. Yarn 的基本架构

    Yarn作为Hadoop 2.0的资源管理系统,和Hadoop 1.0不同的是,Yarn把全局的资源管理和应用程序的管理进行了分离。

    资源管理:ResourceManager(RM)作为 Master/Slave结构中的Master,对作为Slave的NodeManager(NM)上的资源进行统一的管理和调度。

    应用程序管理:每个应用程序都对应有属于自己的ApplicationMaster(AM),它负责了应用程序的资源申请,以及生命周期管理。

    这里写图片描述

    如上图所示:Yarn的基本结构,主要由ResourceManager, NodeManager,ApplicationManager构成, 而Container是逻辑上的资源单位,在物理上对应具体对应NodeManager中的资源。

    1. Client: 主要负责把应用程序提交到RM,应用程序包括MR, Spark, MPI等等。
    2. ApplicationMaster:每个应用程序都包括一个AM(MR, Spark, MPI),负责应用程序的整个生命周期。负责和RM协商获取需要的资源(用Container表示),然后和对应的NodeManager通信,以启动获取的Container。
    3. ResourceManager: RM作为全局资源管理器主要有两部分结构,调度器(Scheduler)和应用程序管理区(ApplicationsManager)。
    4. NodeManager: NM,一方面用于资源节点的管理,通过心跳向RM汇报本节点的资源信息,以及各个Container的使用情况;另一方面,负责响应AM的Container的启动和停止命令。
    5. Container: 对Yarn中应用程序请求资源的抽象,目前支持CPU和Memory资源。
发布了14 篇原创文章 · 获赞 4 · 访问量 5689

猜你喜欢

转载自blog.csdn.net/weixin_35792948/article/details/80118897
今日推荐