Hadoop 的三大核心结构及其作用如下:
1. 分布式文件系统(HDFS,Hadoop Distributed File System)
作用:
- 海量数据存储:提供高吞吐量、高容错性的分布式存储能力,支持存储 TB/PB 级的大规模数据集。
- 硬件容错:通过数据分块(默认 128MB / 块)和多副本机制(默认 3 副本),确保数据在节点故障时不丢失。
- 流式数据访问:优化 “一次写入、多次读取” 场景,适合大数据批处理任务。
- 可扩展性:支持横向扩展,通过添加廉价服务器节点扩展集群存储和计算能力。
2. 分布式计算框架(MapReduce)
作用:
- 并行计算模型:将大规模数据处理任务分解为 Map(映射) 和 Reduce(归约) 两个阶段,实现分布式并行计算。
- 简化开发:开发者只需关注业务逻辑(Map 和 Reduce 函数),框架自动处理任务调度、容错、负载均衡等底层细节。
- 批量处理优化:适合离线批处理场景(如日志分析、数据清洗),但对实时计算和交互式查询支持较弱(后续衍生出 Spark 等框架)。
3. 资源管理系统(YARN,Yet Another Resource Negotiator)
作用:
- 集群资源调度:统一管理 Hadoop 集群的计算资源(CPU、内存等),支持多计算框架(如 MapReduce、Spark、Flink)共享集群。
- 任务管理:通过 ResourceManager(RM) 分配资源,NodeManager(NM) 管理节点,ApplicationMaster(AM) 协调应用程序运行,提高资源利用率和任务并行度。
- 框架兼容性:作为 Hadoop 2.0 引入的核心组件,解决了早期 MapReduce 1.0 资源调度与计算逻辑耦合的问题,使集群更灵活通用