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参数调优OpenJDKApache大数据Hadoop批处理大数据与计算引擎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 发行目录与官方文档为准。

二、软件概述

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):

  1. 前置:安装 Java 17(3.5.0 服务端要求),配置 JAVA_HOME;从 https://hadoop.apache.org/releases.html 下载 3.5.0 binary tarball 并校验 sha512/asc。
  2. 解压与配置:解压到安装目录,编辑 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
  1. 验证:jps 应看到 NameNode/DataNode/SecondaryNameNode(启动 YARN 后还有 ResourceManager/NodeManager);浏览器访问 NameNode Web UI(默认 9870)与 YARN Web UI(默认 8088)。
  2. 跑通第一个作业:向 HDFS 上传文件后提交发行包自带的 MapReduce 示例作业,从 YARN UI 观察作业执行与计数器。
  3. 下一步:多节点集群按 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):

方案许可StarsForks最新版本定位与形态
Apache Hadoop 3.5.0Apache-2.015.7k9.2k3.5.0(2026-04-01)HDFS+YARN+MapReduce 一体化平台,自管集群
MinIO(对象存储替代 HDFS)AGPL-3.061k8.2kRELEASE.2025-10-15T17-29-55Z(GitHub Releases 实查)S3 兼容对象存储,存算分离的数据湖底座
Apache Spark(计算层)Apache-2.044k29k4.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)获得更好弹性。

八、参考链接