![Hadoop+Spark大数据技术(微课版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/911/53255911/b_53255911.jpg)
上QQ阅读APP看书,第一时间看更新
2.2.5 SecondaryNameNode
Hadoop中使用SecondaryNameNode备份NameNode的元数据,以便在NameNode失效时能从SecondaryNameNode恢复出NameNode上的元数据。NameNode保存了整个文件系统的元数据,而SecondaryNameNode只周期性(周期的长短是可以配置的)地保存NameNode的元数据,这些元数据包括FsImage数据和EditLog数据。FsImage相当于HDFS的检查点,NameNode启动时会读取FsImage的内容到内存,并将其与EditLog日志中的所有修改信息合并生成新的FsImage;在NameNode的运行过程中,所有关于HDFS的修改都将写入EditLog。这样,如果NameNode失效,可以通过SecondaryNameNode中保存的FsImage数据和EditLog数据恢复出NameNode最近的状态,尽量减少损失。