checkpoint原理和过程
?
理解这两个概念,对于理解Hadoop是如何管理备份,Secondary Namenode、Checkpoint Namenode和Backup Node如何工作的很重要。
fsimage:文件是文件系统元数据的一个永久性检查点,包含文件系统中的所有目录和文件idnode的序列化信息。edits:文件系统的写操作首先把它记录在edit中将文件系统个元数据操作分开操作,是为了提升内存的处理效率。如果不分开处理,即所有的写操作均记录在一个文件中,比 如,fsimage中,那么每个操作都会对这个文件进行修改,因为这个文件可能会很大,所以每次进行写操作的时候就会很慢,随着fsimage越来越大, 速度便会越来越低。
Hadoop的解决方案是辅助Namenode节点,文件系统的写操作不是直接被修改到fsimage中,二是edits中,辅助Namenode 节点负责将两者在自己的内存中整合然后进行相应的替换操作,这样会频繁的对edits进行修改而不是fsimage,而edits文件的大小是可以接受 的,而且大小也不会不断增加。具体的checkpoint执行过程如下:

?
以下即是checkpoint过程:
注:从Hadoop0.21.0开始,辅助Namenode已经放弃不用,由checkpoint节点取而代之,功能不变。新版本同时引入一种新的Namenode,名为BackupNode。