HDFS存储原理与MapReduce计算模型

HDFS存储原理

1. 架构设计
  • 主从架构 :包含一个NameNode(主节点)和多个DataNode(从节点)。
    • NameNode:管理元数据(文件目录结构、文件块映射、块位置信息),不存储实际数据。
    • DataNode:存储实际数据块,负责处理客户端的读写请求,并定期向NameNode发送心跳和块报告。
2. 数据分块与副本机制
  • 分块存储:文件被分割为固定大小的块(默认128MB或256MB),便于并行处理和存储优化。
  • 多副本冗余 :每个块默认保存3个副本,分布策略为:
    • 第1个副本:写入客户端所在节点(若为集群外则随机选节点)。
    • 第2个副本:同一机架的另一节点。
    • 第3个副本:不同机架的节点。
  • 容错性:通过副本机制和机架感知策略,保障数据可靠性与读取效率。
3. 读写流程
  • 写入流程

    1. 客户端向NameNode申请写入,NameNode分配DataNode列表。
    2. 客户端将数据块写入第一个DataNode,后者通过管道依次复制到其他副本节点。
    3. 写入成功后,NameNode更新元数据。
  • 读取流程

    1. 客户端向NameNode获取文件块的位置信息。
    2. 直接从最近的DataNode(基于网络拓扑)读取数据块,支持并发读取多个块。
4. 容错与高可用
  • DataNode故障:NameNode通过心跳检测移除失效节点,并触发副本复制。
  • NameNode HA(Hadoop 2.x+):通过主备NameNode和JournalNode实现故障自动切换,解决单点问题。

MapReduce计算模型

1. 核心阶段
  • Map阶段

    • 输入数据被划分为分片(Split),每个分片由一个Map任务处理。
    • Map任务输出中间键值对(Key-Value),可本地聚合(Combiner)减少数据传输。
  • Shuffle与Sort阶段

    • 分区(Partitioning):按Key的哈希值分配到不同Reduce任务。
    • 排序与合并:Map端对输出排序,Reduce端合并相同Key的数据。
  • Reduce阶段

    • 对Shuffle后的数据执行用户定义的Reduce逻辑,生成最终结果。
2. 执行流程
  1. 作业提交:客户端提交任务到ResourceManager(YARN架构)。
  2. 任务调度:ApplicationMaster分配Map/Reduce任务到NodeManager。
  3. 数据本地化优化:优先调度Map任务到存储数据的节点,减少网络IO。
  4. 结果输出:Reduce结果写入HDFS或其他存储系统。
3. 容错机制
  • 任务重试:失败的Map/Reduce任务会被重新调度到其他节点。
  • 推测执行:对慢节点启动备份任务,防止个别任务拖慢整体进度。
4. 适用场景
  • 离线批处理:适合大规模数据并行计算(如日志分析、ETL)。
  • 局限性:不适合低延迟(实时)场景,迭代计算效率较低(需多次读写HDFS)。

总结

  • HDFS:通过分块、多副本和机架感知实现高吞吐、高可靠存储。
  • MapReduce:以分而治之思想,通过Map、Shuffle/Sort、Reduce三阶段处理海量数据,结合容错机制保障稳定性。两者共同构成Hadoop生态的核心计算与存储基础。
相关推荐
B站计算机毕业设计超人9 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
B站计算机毕业设计超人9 天前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城9 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
王九思9 天前
Hive Thrift Server 介绍
数据仓库·hive·hadoop
Asher050910 天前
Hive核心知识:从基础到实战全解析
数据仓库·hive·hadoop
yumgpkpm10 天前
AI视频生成:Wan 2.2(阿里通义万相)在华为昇腾下的部署?
人工智能·hadoop·elasticsearch·zookeeper·flink·kafka·cloudera
Asher050910 天前
Hadoop核心技术与实战指南
大数据·hadoop·分布式
江畔何人初11 天前
hadoop中HDFS框架、YARN框架各组件职责与对比
大数据·hadoop·hdfs
Francek Chen12 天前
【大数据存储与管理】分布式文件系统HDFS:05 HDFS存储原理
大数据·hadoop·分布式·hdfs
一号IT男12 天前
Hive中GROUPING SETS功能详解
数据仓库·hive·hadoop