Apache YARN 3.5 介绍与选型指南

Apache YARN 3.5 介绍与选型指南:官方资料溯源的资源调度架构(ResourceManager/NodeManager/ApplicationMaster/Container)、调度器与队列、多计算框架承载能力、随 Hadoop 3.5.0(2026-04-02 GA)发行的单机启动流程与适用限制,以及与 Kubernetes、Apache Mesos、Slurm 的量化选型对比(2026-10-19 实查,未做本地安装实测)。

YARN大数据YARN参数调优资源调度2026/10/19

Apache YARN 3.5 介绍与选型指南

目标:基于官方公开资料溯源(hadoop.apache.org 官网与发行页、Apache Hadoop 官方文档、apache/hadoop 官方仓库)梳理 YARN 的定位、架构、功能与同类资源调度系统选型对比,未做本地安装实测;版本号、日期与 stars 均标注来源与查询日期 2026-10-19。

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方资料溯源(Apache Hadoop 官网 releases 页、官方文档 hadoop.apache.org/docs、GitHub 官方仓库 apache/hadoop),本文不做本地安装与运行实测。
  • 版本口径说明:YARN 没有独立发行物,版本随 Apache Hadoop 一起发布。官方 releases 页当前标注 Latest Stable 为 Hadoop 3.5.0,因此本文以「YARN 3.5(随 Hadoop 3.5.0)」为介绍基准。

1.2 版本依据表

项目实查结果(2026-10-19)来源
最新稳定线Hadoop 3.5.0(2026-04-02 发布),含 YARN 3.5hadoop.apache.org/releases.html
次新稳定线Hadoop 3.4.3(2026-02-24 发布)hadoop.apache.org/releases.html
上一代补丁线Hadoop 3.4.2(2025-08-29)、3.4.1(2024-10-18)、3.4.0(2024-03-17)hadoop.apache.org/releases.html
代码仓库apache/hadoop(15694 stars,Apache-2.0,2026-10-19 实查仍在活跃提交)github.com/apache/hadoop
开源许可Apache License 2.0仓库 LICENSE
发行节奏参考3.4 系自 2024-03 至 2026-02 发布 4 个 minor/patch;3.5.0 于 2026-04 接棒hadoop.apache.org/releases.html

1.3 官方来源清单

来源地址
官方发行页https://hadoop.apache.org/releases.html
官方文档(含 YARN 子站)https://hadoop.apache.org/docs/
YARN 单机集群官方文档https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/SingleCluster.html
YARN 项目主页https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/
源码仓库https://github.com/apache/hadoop

二、软件概述

本文介绍的是 Apache Hadoop YARN 3.5(随 Hadoop 3.5.0 发行,2026-04-02 GA)。

YARN(Yet Another Resource Negotiator)是 Hadoop 的资源管理与作业调度层,把集群的 CPU、内存等资源抽象为 Container 统一分配,让 MapReduce、Spark、Flink、Tez 等计算框架共享同一套集群资源。它于 Hadoop 2 时代引入,将「资源管理」与「计算模型」解耦,是经典 Hadoop 数据平台(HDFS + YARN + 计算框架)的调度中枢。YARN 与 Hadoop 同以 Apache License 2.0 发布,由 Apache 软件基金会管理,Hadoop 仓库在 GitHub 上拥有 15694 stars(2026-10-19 实查)。

三、核心架构

3.1 四类角色

  • ResourceManager(RM):全局资源调度者,负责整个集群的资源分配与调度决策;可配置 HA(主备自动切换)。
  • NodeManager(NM):单节点代理,管理本节点 Container 的生命周期、资源隔离与状态上报。
  • ApplicationMaster(AM):每应用一个,负责向 RM 申请资源、与 NM 协作启动并监控任务(如 MapReduce AM、Spark AM)。
  • Container:资源的抽象载体(vcores + 内存),是调度与隔离的基本单位。

3.2 调度器与队列

YARN 内置三类调度器:FIFO、Capacity Scheduler(按队列容量/弹性共享,生产最常用)与 Fair Scheduler(按公平份额分配)。队列体系支持层级队列、ACL、资源上下限与抢占等策略(官方 YARN 文档)。调度决策以队列与应用为粒度,支持 Label(节点分区)等扩展。

3.3 与 Hadoop 生态的关系

YARN 运行在 HDFS 之上的计算资源平面:作业输入/输出通常落在 HDFS;RM 提供 REST API 与 Web UI(默认 8088 端口);日志聚合后由 Timeline Service(v2)提供应用历史与指标查询。本站对 YARN 3.3.6 的参数体系有逐项拆解,可参考《Apache YARN 配置参数详解》;Hadoop 侧配置可参考《Apache Hadoop 配置文件详解》(https://www.quzuo.net/document/MTManJnT8fgy )。

四、功能特性

  • 多框架承载:MapReduce、Spark、Flink、Tez 等均以 YARN 应用形式运行,一个集群多负载混部(官方 YARN 文档)。
  • 队列化资源治理:Capacity/Fair 调度器按队列做配额、优先级与 ACL 治理,适合多团队共享集群。
  • 高可用与 federation:RM HA(基于 ZooKeeper)与 YARN Federation(多 RM 联邦扩展到数万节点)为官方能力(YARN 文档)。
  • 资源模型扩展:除内存/CPU 外支持自定义资源类型(GPU 等)与 opportunity container(机会式调度)等特性(官方特性页)。
  • 3.5 系列状态:3.5.0 于 2026-04-02 GA,属于当前官方标注的 Latest Stable;3.4.3(2026-02-24)作为上一稳定线仍在维护窗口内,用户可按框架兼容矩阵选择(hadoop.apache.org/releases.html 实查)。

五、快速上手

以下步骤转述自官方 SingleCluster 文档(https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/SingleCluster.html ),本文不做本地实测。

  1. 准备:安装 JDK 并设置 JAVA_HOME,解压 Hadoop 3.5.0 发行包,配置 HADOOP_HOME。
  2. 启动 HDFS(YARN 作业通常依赖):
bin/hdfs namenode -format
sbin/start-dfs.sh
  1. 启动 YARN:
sbin/start-yarn.sh
  1. 验证:浏览器访问 ResourceManager UI(http://localhost:8088),或执行官方文档给出的节点查看命令确认 NodeManager 注册成功。
yarn node -list
  1. 提交示例作业:官方 SingleCluster 文档以 hadoop-mapreduce-examples 中的 wordcount(输入/输出落在 HDFS)演示 YARN 上运行 MapReduce 应用的完整闭环。

本站另有从零安装与 Docker Compose 部署的实测文档,可对照练习。

六、适用场景与限制

6.1 适用场景

  • 已有 HDFS 数据平台的批处理/混部集群:MapReduce、Spark、Flink 统一排队治理。
  • 多团队共享的数据平台:队列配额、ACL、审计集中在大数据调度层。
  • 需要将既有 Hadoop 作业平移且保留 Java 生态兼容性的存量环境。

6.2 限制与注意事项

  • 部署与运维重量:依赖 HDFS/JDK/ZooKeeper 等组件,集群起步成本高,不适合纯轻量场景。
  • 版本联动:YARN 无独立版本,升级调度器行为需整体升级 Hadoop,需对照各计算框架的兼容矩阵。
  • 容器生态弱于 K8s:YARN 不提供 K8s 级别的应用编排与镜像化交付体验;新型云原生负载多直接上 K8s。
  • 相邻项目演进:同类老牌调度器 Apache Mesos 已多年无新版发行(详见对比表),新建 Hadoop 之外的调度平台一般不再考虑它。

七、同类选型对比

7.1 候选概览

系统定位开源许可
Apache YARN 3.5Hadoop 生态大数据资源调度层Apache-2.0
Kubernetes 1.37容器编排与通用集群资源调度Apache-2.0
Apache Mesos 1.11数据中心两级调度(历史项目)Apache-2.0
Slurm 26.05HPC 高性能计算作业调度GNU GPL(含 OpenSSL 例外)

7.2 量化对比(2026-10-19 实查)

维度YARN 3.5(随 Hadoop 3.5.0)Kubernetes 1.37Apache Mesos 1.11Slurm 26.05
开源许可Apache-2.0Apache-2.0Apache-2.0GPL(OpenSSL 例外)
GitHub stars15694(apache/hadoop)128440(kubernetes/kubernetes)5366(apache/mesos)4451(SchedMD/slurm)
最近发版3.5.0(2026-04-02);3.4.3(2026-02-24)v1.37.1(2026-09-23)1.11.0(2020-11-24,此后无 GA 发行)26.05.5(2026-10-13)
版本节奏大版本约一年级,补丁按需季度 minor + 周期补丁,节奏最快基本停滞半年度版本 + 补丁(26.05 线)
调度模型队列化容量/公平调度,AM 两级调度声明式 Pod 调度 + 控制器生态Framework 两级调度分区/节点批作业调度
典型负载Hadoop/Spark/Flink 大数据作业云原生微服务与 AI/数据平台存量 Mesos 集群HPC/MPI/科学计算

(stars 与发版时间取自各项目 GitHub Releases/API 与 hadoop.apache.org/releases.html,2026-10-19 实查;许可见各自仓库 LICENSE。)

7.3 选型建议

数据已在 HDFS、负载以 Spark/Flink/MapReduce 为主且需要多团队队列治理,YARN 仍是原生阻力最小的选择;云原生方向的新平台优先 Kubernetes,其调度生态(批处理调度器、AI 训练框架集成)远比 YARN 活跃;HPC/科学计算选 Slurm,版本与社区都更健康;除非维护存量系统,不建议在 2026 年新建 Mesos 平台——其最后 GA 发行停留在 2020 年 11 月。YARN 与 K8s 的深度选型对照,可延伸阅读本站《Apache Mesos 1.11.0 介绍与选型指南》(https://www.quzuo.net/document/pL0HFtQwIC5h )中对资源调度代际的讨论。

八、参考链接