总体关系 在 CentOS 上的 HDFS 与 YARN 分别承担数据存储与资源调度,二者协同构成 Hadoop 的数据处理底座:HDFS 负责海量数据的高可靠分布式存储,YARN 负责集群资源管理与任务调度。自 Hadoop 2.x 起,YARN 从 MapReduce 中独立出来,使计算与资源解耦,HDFS 与 YARN 可独立部署与运行,但在生产计算(如 MapReduce、Spark)中通常联合使用,由 YARN 为运行在 HDFS 上的作业分配资源。
架构与职责对比
| 维度 | HDFS | YARN |
|---|---|---|
| 核心职责 | 分布式文件存储、元数据管理、数据块副本容错 | 集群资源管理与调度、容器生命周期管理 |
| 主从角色 | NameNode(主)、DataNode(从),并有 SecondaryNameNode 辅助 | ResourceManager(全局主)、NodeManager(每台机器从)、每个应用一个 ApplicationMaster |
| 资源抽象 | 文件/块(Block),默认副本数常为 3 | Container(封装 CPU、内存等资源) |
| 典型端口 | 50070(NameNode Web UI) | 8088(ResourceManager Web UI) |
| 数据/任务流 | 存储输入/输出数据,供计算框架读取与写入 | 为应用申请与分配 Container,监控与容错 |
| 高可用 | NameNode HA(Active/Standby) | ResourceManager HA |
| 与计算框架 | 可作为多计算框架的统一底层存储 | 支持 MapReduce、Spark、Tez 等多框架运行 |
以上对比要点来自 Hadoop 架构与常见部署实践。
协作流程
在 CentOS 上的集成要点