【Yarn】yarn ResourceManager 状态机
发布日期:2021-05-14 16:25:45 浏览次数:32 分类:精选文章

本文共 928 字,大约阅读时间需要 3 分钟。

状态机解析:RMApp、RMAppAttempt、RMContainer

1. 概述

在Hadoop的资源管理框架中,RMApp(资源管理应用)是核心状态机之一。它与RMAppAttempt和RMContainer共同构成了资源管理的关键流程。状态机的主要流程如下:

RMApp → RMAppAttempt → RMContainer

在实际运行中,RMApp负责接收用户提交的资源请求,并根据预定的规则完成应用的提交流程。

2. RMApp

RMApp(资源管理应用程序)是Hadoop资源管理的入口。它负责处理用户提交的应用程序,并将其转化为RMAppAttempt(资源管理应用尝试)进行后续处理。

RMAppImpl(RMApp的实现类)不仅管理应用程序的状态,还保存了丰富的应用信息,包括但不限于:

  • 应用程序名称
  • 所属队列名称
  • 启动时间
  • 所有Attempt信息

状态说明

RMApp的运行状态分为多个阶段,主要包括以下几种状态:

  • NEW_SAVING:在这个状态下,RMAppImpl会将应用程序的基本信息暂时存储起来,以便在系统故障或需要重启时恢复应用程序的运行状态。

  • SUBMITTED:在合法性校验通过后,RMAppImpl会创建对应的RMAppAttempt。这个阶段是应用程序提交的关键节点。

  • ACCEPTED:资源调度器(如Capacity Scheduler)完成资源检查后,RMAppImpl会进入这个状态。此时管理员可以根据配置的限制进行资源分配,超过限制的提交请求会被拒绝。

  • 3. RMAppAttempt

    RMAppAttempt是RMApp的直接子状态,负责处理单个应用程序的运行。它是资源管理流程中的关键节点,负责接收资源分配指令并启动应用程序。

    在实际运行中,RMAppAttempt负责跟踪应用程序的运行状态,并根据调度器的反馈调整资源分配策略。

    4. RMContainer

    RMContainer是RMAppAttempt的最终目标状态,代表应用程序已经被分配到具体的资源容器中。这个阶段是应用程序执行的实际开始点。

    通过上述状态机流程,可以清晰地看到Hadoop资源管理框架如何高效地管理用户提交的应用程序。

    上一篇:MySQL入门命令之约束、标识列
    下一篇:第九届蓝桥杯嵌入式省赛(STM32G4及HAL库)

    发表评论

    最新留言

    很好
    [***.229.124.182]2025年05月07日 23时59分24秒

    关于作者

        喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
    -- 愿君每日到此一游!

    推荐文章