Secondary NameNode

Hadoop SecondaryNameNode并不是Hadoop 第二个NameNode,它不提供NameNode服务,而仅仅是NameNode的一个工具。这个工具帮助NameNode管理Metadata数据。

NameNode的HDFS文件信息(即Metadata)记录在内存中,client的文件写操作直接修改内存中的Metadata,同时也会记录到硬盘的Edits文件,这是一个Log文件。

当NameNode重启的时候,会合并硬盘上的fsimage文件和edits文件,得到完整的Metadata信息。这个fsimage文件可以看做是一个过时的Metadata信息文件(最新的Metadata修改信息在edits文件中)。

如果edits文件非常大,那么这个合并过程就非常慢,导致HDFS长时间无法启动,如果定时将edits文件合并到fsimage,那么重启NameNode就可以非常快。

SecondaryNameNode就做这个合并的工作。

浅析Hadoop Secondary NameNode,CheckPoint Node,Backup Node

SecondaryNameNode运行原理时序图

  • 如果NameNode崩溃并且硬盘损坏,可以从SecondaryNameNode拷贝fsimage文件,但是SecondaryNameNode最后一次合并之后的更新操作将会丢失。

CheckPoint Node

可能是由于Secondary NameNode这个名字给人带来的混淆,Hadoop后面的版本(1.0.4 )建议不要使用Secondary NameNode,而使用CheckPoint Node。

Checkpoint Node和Secondary NameNode的作用以及配置完全相同,只是启动命令不同 bin/hdfs namenode -checkpoint

Backup Node

Secondary NameNode和CheckPoint Node都只是提供一个fsimage更新和检查点备份,并不提供NameNode 服务,当NameNode宕机的时候就会引起HDFS集群不可用。

Backup Node提供一个真正意义上的备用节点,NameNode所有写操作都会实时将更新Log(edits文件数据)发送给Backup Node,Backup Node据此更新本机fsimage和edits文件,并在内存中维护和NameNode 一样的Matadata数据。

相关文章:

  • 2021-09-03
  • 2019-12-13
  • 2021-06-10
  • 2021-12-05
  • 2022-12-23
  • 2021-10-05
  • 2022-12-23
猜你喜欢
  • 2021-09-16
  • 2022-12-23
  • 2021-09-25
  • 2021-06-18
  • 2022-12-23
  • 2021-12-16
相关资源
相似解决方案