第4章 资源视角:YARN调度层


文档摘要

第 4 章 · 资源视角:YARN 调度层 章节摘要:数据旅程计算段的每一步都运行在 YARN 的容器里。本章拆解 ResourceManager、NodeManager、AppMaster、Container 四角色的协作时序,深挖 Capacity 与 Fair 两种调度器的队列语义与配置实战,最后覆盖在 YARN 上开发部署应用与标签调度等扩展能力。 学习目标 阅读完本章,你应当能够: 说清一次任务启动经过的四角色握手:申请、分配、启动、汇报; 解释 YARN 把资源管理与作业管理分离的动机(经典 MapReduce 1 的局限); 配置 Capacity Scheduler 的多级队列、容量、ACL 与抢占参数;

第 4 章 · 资源视角:YARN 调度层

章节摘要:数据旅程计算段的每一步都运行在 YARN 的容器里。本章拆解 ResourceManager、NodeManager、AppMaster、Container 四角色的协作时序,深挖 Capacity 与 Fair 两种调度器的队列语义与配置实战,最后覆盖在 YARN 上开发部署应用与标签调度等扩展能力。

学习目标

阅读完本章,你应当能够:

  1. 说清一次任务启动经过的四角色握手:申请、分配、启动、汇报;
  2. 解释 YARN 把资源管理与作业管理分离的动机(经典 MapReduce 1 的局限);
  3. 配置 Capacity Scheduler 的多级队列、容量、ACL 与抢占参数;
  4. 描述 Fair Scheduler 的动态池分配与最小保障语义,并做选型;
  5. 编写并提交一个 YARN Application,理解 AppMaster 协议;
  6. 使用节点标签实现计算与存储分离等进阶调度。

核心概念速览

YARN 的本质是把"集群资源"抽象成可记账、可分配、可回收的商品——容器。

子章节导航

4.1 YARN 架构与组件

四角色分工、容器的一生、与 MapReduce 1 时代对比引出的分离动机。

4.2 YARN 资源调度与容器分配

心跳式分配协议、Capacity 与 Fair 两种调度器的语义与配置实战、队列选型。

4.3 YARN 应用开发部署与扩展

编写 AppMaster 的协议要点、应用提交 CLI、节点标签与资源隔离扩展。

子章节之间的逻辑关系

本章从静态到动态再到扩展:

[4.1 角色与容器] ──谁在协作──▶ [4.2 调度策略] ──怎么分配──▶ [4.3 开发与扩展] 架构图与时序 队列语义与配置 协议与标签调度

4.2 是重心:调度器选择与队列规划是平台工程师日常决策频率最高的两项。

前置知识与后续延伸

  • 前置:第 3 章作业运行时序(AppMaster 已在那里露面)。
  • 为后续铺垫:第 5 章所有生态组件(Hive、HBase、Spark 等)都以 YARN 应用身份运行,队列规划直接决定数仓各层的资源保障;第 6 章监控的多数指标来自 NodeManager 与调度器。

一个贯穿本章的思考题

带着这个问题读本章:夜批集群上,报表组、算法组、实时组共用一千个节点,报表作业半夜跑、算法作业白天跑、实时作业全天不能断——你把队列怎么切、容量怎么定、抢占开不开?4.2 节的三原则会给出一版答案,但真正的判断依据藏在 4.1 的资源账与你们组织的 SLA 排序里。资源调度没有标准答案,只有"约束条件写清楚之后的推论",本章要给你的正是那套推论工具。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U