type
status
date
slug
summary
tags
category
icon
password
一、版本特性对照表
维度 | Hadoop1.x | Hadoop2.x | Hadoop3.x |
核心组成 | HDFS + MapReduce | HDFS + YARN + MRv2 + Hive2/Spark1.x | HDFS + YARN + Hive3 + Spark2/3 + 容器/K8s + GPU |
存储机制 | 单 NameNode,三副本 | Federation + HA,三副本 | 纠删码(EC)+ 存储分层(SSD/HDD/对象存储) |
可扩展性 | NameNode 成单点瓶颈 | Federation 分布式命名空间,支持大规模扩展 | 扩展更灵活,降低存储开销,支持对象存储 |
可靠性 | NameNode 单点故障风险 | NameNode HA(热备 + 自动故障切换) | HA + 纠删码,可靠性与成本兼顾 |
资源调度 | JobTracker 负责调度和资源管理,易成瓶颈 | YARN 统一调度 CPU/内存,支持多框架 | YARN 扩展 GPU、Docker 容器,支持 AI/深度学习 |
计算框架 | 仅 MapReduce | MRv2、Hive、Spark、Tez 等 | Spark 2.x/3.x、Hive3、AI/ML 框架、容器化作业 |
SQL 引擎 | Hive 早期版本,功能有限 | Hive 2.x,支持部分 ACID | Hive 3,全 ACID(插入/更新/删除)、物化视图 |
流处理 | 无原生支持,仅 MR 批处理 | Spark Streaming 初步支持 | Structured Streaming 成熟,支持实时处理 |
安全治理 | 基本安全机制,粗粒度 | Ranger + Atlas,权限/元数据治理 | 更细粒度访问控制 + 数据血缘追踪 + 合规审计 |
运维与管理 | 无统一工具,脚本为主 | Ambari 部署与监控 | Ambari + SmartSense,支持容器化与智能优化 |
应用场景 | 批处理为主,离线数仓 | 批处理 + SQL + 多框架混合 | 实时计算 + AI/ML + 云原生混合负载 |
- 1.0 → 2.0:解决扩展性 & 单点问题,引入 YARN,多框架共存。
- 2.0 → 3.0:降低存储成本(EC)、拥抱实时/AI/容器化,治理和运维更智能。
二、核心升级点
HDP1.0 → HDP2.0:解决了 单点瓶颈、扩展性差、计算框架单一
- 架构升级:从 MapReduce 独裁到 YARN 统一调度,支持多种计算框架(Hive、Spark、Tez)。
- 可扩展性:引入 HDFS Federation,突破单 NameNode 限制。
- 可靠性:支持 NameNode HA,解决单点故障问题。
- 资源调度:从 JobTracker 转向 YARN,避免性能瓶颈。
HDP2.0 → HDP3.0:解决高存储成本、实时/AI需求、数据治理、云原生
- 存储效率:引入 纠删码(EC),大幅降低三副本存储开销。
- 存储层次:支持 SSD/HDD/对象存储分层,降低成本,提升性能。
- 计算能力:支持 GPU、容器化(Docker/K8s),适配 AI/深度学习。
- SQL 引擎:升级到 Hive3,全 ACID 事务、物化视图,接近企业数仓。
- 流处理:Spark Structured Streaming 成熟,可实时计算。
- 治理与安全:增强 细粒度访问控制、血缘追踪、合规审计。
- 运维体验:SmartSense 提供智能诊断与优化,容器化运维更轻量。
HDFS Federation :多个 NameNode 分工管理不同目录,打破单点瓶颈,让 HDFS 能存更多文件、支撑更大集群。
在 Hadoop 1.x 里,HDFS 只有 一个 NameNode,它既管理命名空间(文件目录结构),也管理数据块(DataNode 位置),单个 NameNode 容量有限(内存瓶颈),限制了集群能存多少文件,所有请求都走它,容易 性能瓶颈 和 单点风险。
从 Hadoop 2.x 开始,一个集群可以有多个 NameNode 并行工作,每个 NameNode 管理自己的一部分命名空间(namespace),但共享同一套 DataNode 存储。实现效果参考:NameNode1 管理 /user、/data 路径;
这个概念和 NameNode HA 不同,NN HA是两个 NameNode(Active + Standby),共享元数据(比如通过 JournalNode 写日志), Active 挂了,Standby 可以快速接管,不影响集群服务
- 作者:tacjin
- 链接:http://jin.wiki/article/262e55fd-4dcc-807f-a7d5-c9359685cd3e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。