HDFS 是 Hadoop 生态的基石。理解它的架构,就理解了大数据的存储哲学——用一堆廉价机器组成可靠的文件系统。

一、HDFS 的设计目标

  • 1.1 硬件故障是常态——容错设计
  • 1.2 流式数据访问——一次写入多次读取
  • 1.3 大文件优先——不适合大量小文件
  • 1.4 移动计算比移动数据更划算

二、核心架构

  • 2.1 NameNode——元数据管理,命名空间
  • 2.2 DataNode——实际存储数据块
  • 2.3 Secondary NameNode——不是热备,是检查点
  • 2.4 心跳机制——DataNode 定期汇报

三、数据块与副本

  • 3.1 Block 大小——默认 128MB
  • 3.2 副本策略——默认 3 副本
  • 3.3 机架感知——副本放置策略
  • 3.4 为什么大块更高效

四、读写流程

  • 4.1 写数据——Pipeline 流水线写入
  • 4.2 读数据——就近原则
  • 4.3 数据完整性——校验和

五、常用命令

  • 5.1 hdfs dfs -ls / -put / -get
  • 5.2 hdfs dfsadmin -report
  • 5.3 NameNode 高可用——JournalNode