1. Hadoop分布式计算基础:从单机到集群的进化之路
2003年,Google发表了三篇改变计算历史的论文:《Google文件系统》《MapReduce》和《BigTable》。这些论文启发了Doug Cutting等人开发出Hadoop——一个能够处理PB级数据的开源框架。如今,Hadoop已成为大数据处理的行业标准,全球80%的财富500强企业都在使用它。
为什么单机处理不了大数据?想象你有一本1000页的书要复印。用一台复印机可能需要10小时,但如果把书拆成100份,用100台复印机同时工作,6分钟就能完成。这就是Hadoop的核心思想:分而治之。具体来说,Hadoop通过三个关键技术突破解决了大数据难题:
- 存储突破:HDFS(Hadoop分布式文件系统)将大文件切分成块(默认128MB),分散存储在集群的各个节点上
- 计算突破:MapReduce将计算任务分解为多个小任务,分配到数据所在的节点并行执行
- 资源管理突破:YARN(Yet Another Resource Negotiator)负责协调集群资源,确保计算任务高效运行
关键设计原则:移动计算比移动数据更划算。Hadoop始终坚持"数据本地化"原则,将计算任务发送到数据所在的节点执行,避免大规模数据传输带来的网络开销。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. HDFS深度解析:大数据存储的基石
2.1 架构设计与核心组件
HDFS采用主从架构,包含两个关键角色:
-
NameNode(主节点):
- 存储文件系统的元数据(目录树、文件分块信息等)
- 不存储实际数据,类似图书馆的目录系统
- 通过EditLog和FsImage保证元数据可靠性
-
DataNode(从节点):
- 存储实际数据块(默认3副本)
- 定期向NameNode发送心跳和块报告
- 执行数据的读写操作
2.2 数据写入流程详解
当客户端要写入一个200MB文件时:
- 客户端向NameNode发起写入请求
- NameNode检查权限后,返回可用的DataNode列表(考虑机架感知)
- 客户端将文件分成两个块(128MB+72MB)
- 建立数据管道:Client → DN1 → DN2 → DN
