Apache Hadoop 3.5.0 介绍与选型指南
Apache Hadoop 3.5.0(2026-04-01 发布)介绍与选型:HDFS/YARN/MapReduce 架构、首个完整支持 Java 17 的版本与新 GCS FileSystem/YARN Capacity Scheduler 新 UI/S3 Access Grants 等特性、官方单机上手路径,及与云原生替代方案(MinIO 对象存储 + Spark 4.2.0/Kubernetes 生态)的量化选型对比。认知篇,官方来源溯源,查询日期 2026-10-19。
Apache Hadoop 3.5.0 介绍与选型指南
目标:基于 Apache Hadoop 官方站点、官方文档与发行记录,讲清开源大数据基础平台 Hadoop 的定位、HDFS/YARN/MapReduce 三大件架构、3.5.0 版本的关键特性,并给出与云原生替代方案(MinIO 对象存储 + Spark、Kubernetes 生态)的量化选型对比。本文为认知篇,全部论断基于官方来源联网溯源(查询日期 2026-10-19),不做本地安装实测。
一、信息基准
本章明确本文的版本基准与来源清单。Hadoop 项目仓库不使用 GitHub Releases 页发布,版本事实以 Apache 发行目录与官方文档为准。
- 查询日期:2026-10-19(本文所有版本号、星标数、发布时间均在该日联网核验)。
- 基准版本:Apache Hadoop 3.5.0。版本依据:
- GitHub tag
rel/release-3.5.0创建于 2026-04-01(https://github.com/apache/hadoop/releases/tag/rel/release-3.5.0 ); - Apache 官方发行包 hadoop-3.5.0.tar.gz 的 Last-Modified 为 2026-04-01(https://downloads.apache.org/hadoop/common/hadoop-3.5.0/ );
- 官方文档站 "current" 已切换至 3.5.0(https://hadoop.apache.org/docs/current/ ),3.5.0 Release Notes 页标注 "Last Published: 2026-03-24"。
- 上一稳定补丁线为 3.4.3(官方 Releases 页列出 3.5.0 与 3.4.3 为当前下载版本)。
- GitHub tag
- 维护方:Apache 软件基金会(apache/hadoop 顶级项目)。
- 许可:仓库 LICENSE.txt 核验为 Apache License 2.0(来源:https://github.com/apache/hadoop/blob/trunk/LICENSE.txt ,查询日期 2026-10-19)。
- 发行形态:二进制 tarball(x86_64 与 aarch64 双架构,官方 Releases 页提供签名与 sha512)、源码构建;云上亦有各大厂商的托管发行(EMR 等)。
- 版本依据(来源清单):
- 官方 Releases 页:https://hadoop.apache.org/releases.html
- 官方文档(3.5.0):https://hadoop.apache.org/docs/current/
- 3.5.0 Release Notes:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/release/3.5.0/RELEASENOTES.3.5.0.html
- GitHub 仓库:https://github.com/apache/hadoop
二、软件概述
2.1 项目定位与版本
Apache Hadoop 是大数据领域的基础平台(framework),以"HDFS 分布式存储 + YARN 资源调度 + MapReduce 计算框架"三大件起家,用商用廉价硬件横向扩展承载 PB 级数据存储与批量加工。发展至今,Hadoop 的计算层大量让位于 Spark/Flink(跑在 YARN 上),但其存储层 HDFS 仍是众多企业数据湖与数仓的底座,YARN 仍是经典线下大数据平台的资源中枢。当前最新稳定版 3.5.0(2026-04-01 发布)是首个完整支持 Java 17 的版本:服务端强制 Java 17 运行,客户端支持 Java 17 与 21(来源:官方文档 3.5.0 版首页,查询日期 2026-10-19)。本专栏已有 3.3.6 的集群与 MapReduce 实测篇:《Apache Hadoop 配置文件详解》。
2.2 版本节奏
官方 Releases 页当前在售版本线为 3.5.0(2026-04)与 3.4.3;3.4 线从 3.4.0(2024)滚动至 3.4.3 后由 3.5.0 接棒。大版本间隔 1–2 年、补丁版数月一个,节奏偏稳(成熟项目特征)。选型建议:新建集群直接 3.5.x;存量 3.3.x 集群因 Java 版本要求变化(3.3 线为 Java 8/11),升级 3.5 前须先完成 JDK 17 适配评估。
三、核心架构
本章拆解 Hadoop 三大件的角色分工。理解"存储与计算同集群、YARN 统一供算力"的经典形态,以及它与存算分离趋势的关系,是新旧架构选型的分水岭。
- HDFS(存储层):NameNode 管理元数据(内存中的文件树与块位置,经 JournalNode/Quorum 实现高可用),DataNode 存储实际块(默认 128MB/块、3 副本);通过机架感知把副本打散到不同机架/节点,配合联邦(Federation)与 Router 突破单命名空间规模。
- YARN(资源层):ResourceManager 全局调度、NodeManager 管理单节点资源与执行、ApplicationMaster 管理单作业生命周期;任何计算框架(MapReduce、Spark、Flink、Tez)都可申请 YARN 资源跑作业。
- MapReduce(计算层):以 Map/Shuffle/Reduce 三阶段的批处理模型,落盘式 Shuffle 稳定但延迟高,如今多用于超大规模离线加工与作为生态兼容层;交互与流式场景由 Spark/Flink 承担。
💡 技术拓展:大数据存储层的主流路线对比——
路线 原理/特点 代表 HDFS 自建集群 自管三副本块存储,容量换带宽,需专业运维 Hadoop HDFS 对象存储 S3/MinIO/OSS 等,按需扩容、存算分离 MinIO、云对象存储 HDFS 兼容层 在对象存储上模拟 Hadoop FileSystem 接口 S3A、ABFS、GCS Connector Hadoop 3.5.0 的演进方向明显偏向后者:官方持续强化 S3A/ABFS/GCS 连接器(本版新增 GCS FileSystem 与 S3 Access Grants 支持),"HDFS + 云对象存储"混合形态成为主流。
四、关键特性
以下特性依据 3.5.0 官方文档与 Release Notes 归纳(查询日期 2026-10-19):
- Java 17 完整支持:3.5.0 为首个完整支持 Java 17 的版本,服务端要求 Java 17,客户端支持 Java 17/21(来源:官方文档 3.5.0 首页)。
- 新 GCS FileSystem:新增 Google Cloud Storage 原生文件系统实现(来源:官方文档 3.5.0 首页)。
- YARN Capacity Scheduler 新 UI:全新的 Capacity Scheduler 监控界面,支持动态编辑队列配置(来源:官方文档 3.5.0 首页)。
- S3A 增强:支持 AWS S3 Access Grants(来源:3.5.0 Changelog,HADOOP-19050);manifest committer 对 Azure ADLS Gen2 与 GCS 的作业提交支持(来源:官方文档 manifest_committer 页)。
- 存储策略与分层:HDFS 异构存储(SSD/内存/归档介质)与存储策略、Mover 迁移工具,冷热数据分层(来源:官方文档 ArchivalStorage 页)。
- 生态兼容:HDFS/YARN 作为 Spark、Flink、Hive、HBase 的底座持续维护;Hadoop 3.x 的纠删码(Erasure Coding)可在冷数据上以约 1.5 倍存储替代 3 副本。
五、快速上手
以下为官方《Single Node Setup》单机路径的转述(认知篇,不做本地实测;以 https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html 为准,查询日期 2026-10-19):
- 前置:安装 Java 17(3.5.0 服务端要求),配置
JAVA_HOME;从 https://hadoop.apache.org/releases.html 下载 3.5.0 binary tarball 并校验 sha512/asc。 - 解压与配置:解压到安装目录,编辑
etc/hadoop/hadoop-env.sh指定 JAVA_HOME,设置core-site.xml(fs.defaultFS)与hdfs-site.xml(副本数等),单机默认即可起伪分布式。
# 格式化 NameNode 并启动 HDFS(官方单机流程)
bin/hdfs namenode -format
bin/start-dfs.sh
# 启动 YARN(可选)
bin/start-yarn.sh
- 验证:
jps应看到 NameNode/DataNode/SecondaryNameNode(启动 YARN 后还有 ResourceManager/NodeManager);浏览器访问 NameNode Web UI(默认 9870)与 YARN Web UI(默认 8088)。 - 跑通第一个作业:向 HDFS 上传文件后提交发行包自带的 MapReduce 示例作业,从 YARN UI 观察作业执行与计数器。
- 下一步:多节点集群按 workers 文件与免密 SSH 扩展;三节点集群逐节点部署与配置逐项实测,见本专栏 《Apache Hadoop 配置文件详解》所在目录部署篇。
💡 说明:3.5.0 与 3.3.x 的最大环境差异是 JDK——3.5.0 服务端强制 Java 17,存量脚本/旧作业需先验证 JDK 17 兼容再升级,这也是官方文档把 Java 17 列为版本首项特性的原因。
六、适用场景与限制
适用场景:
- 已建成的大数据平台底座:HDFS 存数 + YARN 供算力,跑 Spark/Flink/Hive 混合负载;
- 海量冷数据的廉价存储与批量加工(配合纠删码与异构存储分层);
- 湖仓一体前的传统数仓体系(Hive on HDFS),与既有调度/权限体系深度耦合;
- 对数据主权与自管基础设施有强要求的私有化环境。
限制与注意:
- 运维专业度要求高:NameNode 高可用、Balancer、小文件治理都需要专人;
- 存算耦合导致扩容时"为存储买单也得买计算",弹性差于对象存储 + 按需计算;
- MapReduce 自身不适用于交互/流式场景,新项目计算层应直接选 Spark/Flink;
- 社区热度让位于湖仓新栈(星标增长平缓),新自有 IDC 建设建议先评估"对象存储 + K8s 计算"的现代形态再定。
七、同类选型对比
Hadoop 体系与云原生替代路线的量化对比(GitHub 指标经 shields.io 徽章接口实查,版本经官方发行渠道实查,查询日期 2026-10-19):
| 方案 | 许可 | Stars | Forks | 最新版本 | 定位与形态 |
|---|---|---|---|---|---|
| Apache Hadoop 3.5.0 | Apache-2.0 | 15.7k | 9.2k | 3.5.0(2026-04-01) | HDFS+YARN+MapReduce 一体化平台,自管集群 |
| MinIO(对象存储替代 HDFS) | AGPL-3.0 | 61k | 8.2k | RELEASE.2025-10-15T17-29-55Z(GitHub Releases 实查) | S3 兼容对象存储,存算分离的数据湖底座 |
| Apache Spark(计算层) | Apache-2.0 | 44k | 29k | 4.2.0(官方下载页) | 取代 MapReduce 的批/流一体计算引擎,可跑 YARN 或 K8s |
| Kubernetes 生态(调度替代 YARN) | Apache-2.0 | —(非单仓库可比) | — | 按社区季度版本 | 以 Spark/Flink Operator 承载计算负载,资源弹性与多租户隔离更强 |
数据来源:GitHub 仓库页(hadoop 星标 15.7k/分叉 9.2k,2026-10-19 查询)、shields.io 徽章接口(minio/spark)、各官方发行页,查询日期 2026-10-19。注:shields.io 对 apache/hadoop 与 minio/minio 的提交频率统计异常(显示 0),为避免引用失真数据,本表不列提交频率列。
关键差异与选型建议:
- 存量平台延续:已有 HDFS/YARN 集群与 Hive/调度生态 → 维持 Hadoop 线升级到 3.5.x(重点做 JDK 17 适配),计算层继续跑 Spark/Flink。
- 新建数据湖:优先 对象存储(MinIO/云 S3)+ Spark/Flink + 湖格式的存算分离形态——Hadoop 官方自己也在把 S3A/GCS/ABFS 连接器做进主线,说明这是官方认可的方向。
- 计算引擎:新项目一律 Spark(4.2.0)或 Flink,不再新写 MapReduce 作业。
- 资源调度:仅当已有 YARN 且混跑多框架时保留;新建平台用 Kubernetes(Spark/Flink Operator)获得更好弹性。
八、参考链接
- 官方 Releases 页:https://hadoop.apache.org/releases.html
- 3.5.0 官方文档(current):https://hadoop.apache.org/docs/current/
- 3.5.0 Release Notes:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/release/3.5.0/RELEASENOTES.3.5.0.html
- 官方单机部署指南:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html
- GitHub 仓库:https://github.com/apache/hadoop
- MinIO:https://github.com/minio/minio
- Apache Spark 下载页:https://spark.apache.org/downloads.html
- 本专栏配置实测:《Apache Hadoop 配置文件详解》