Hadoop-2.4.1学习之SecondaryNameNode、CheckpointNode、BackupNode

       在Hadoop-2.x版本之前只存在SecondaryNameNode,没有CheckpointNode、BackupNode的概念,在2.x版本中引入了后两者,增强了对NameNode的同步和备份。现在就学习一下2.x版本中的SecondaryNameNode、CheckpointNode、BackupNode,在开始之前先了解一下NameNode中的两个重要文件fsimage和edits以及NameNode是如何使用这两个文件持久化命名空间的,比如HDFS文件系统的元数据。

       NameNode使用fsimage和edits持久化命名空间,其中fsimage保存最新的检查点信息,edits保存自最新检查点后的命名空间的变化。当NameNode启动时,NameNode从fsimage中读取HDFS的状态,并会合并edits中信息到fsimage中以提供最新的文件系统元数据,这样fsimage中保存了HDFS的最新状态并会创建新的空的edits文件。由于fsimage和edits的合并只在NameNode启动时执行,如果NameNode长时间没有重新启动过,edits日志文件将会变得非常大,另一个edits日志文件太大的副作用时下次NameNode的重启将会花费更多的时间,因为需要更多的时间合并fsimage和edits文件。

       由上面的描述可知fsimage和edits文件对整个HDFS有着至关重要的作用,一旦NameNode失效,比如宕机无法启动或者硬盘损坏,就将导致由于失去fsimage和edits文件而无法启动HDFS的现象,所以就出现了SecondaryNameNode、CheckpointNode、BackupNode用于对fsimage和edits文件备份,SecondaryNameNode是最先存在的,后两者是在2.x版本引入的。

SecondaryNameNode定期性地合并fsimage和edits文件,并保证edits日志文件大小不超过某个阈值。SecondaryNameNode与NameNode运行在不同的主机上,并且内存要与NameNode的内存一样大小。SecondaryNameNode将包含最新检查点信息的fsimage存储在与NameNode目录结构

你可能感兴趣的:(Hadoop-2.x,Hadoop)