在Hadoop HDFS中,Secondary NameNode(简称SNN) 的核心职责并不是作为 NameNode 的热备(High Availability 备份),而是作为 NameNode 的“秘书”,专门负责执行 Checkpoint(检查点) 操作。 要理解 Checkpoint 机制,首先需要明白两个核心文件: 1. FsImage(元数据镜像文件):记录了某一时刻HDFS完整的目录树和文件元数据(相当于“全量备份”)。 2. Edits Log(编辑日志):记录了自上一次 FsImage 生成以来,客户端对HDFS发起的所有增删改操作(相当于“增量日志”)。 NameNode 在运行时,所有更新操作都会先追加到 Edits 日志中。如果运行时间很长,Edits 文件会无限增大。一旦 NameNode 重启,它需要先加载 FsImage,然后再把庞大的 Edits 日志从头到尾重放一遍,这个过程极其缓慢。 Checkpoint 机制就是为了解决这个问题而诞生的:定期将 Edits 日志合并到 FsImage 中,生成新的 FsImage,从而清空(或截断)旧的 E...