浅析Hadoop Secondary NameNode,CheckPoint Node,Backup Node

//李智慧

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就做这个合并的工作。


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数据。



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Secondary NameNodeHadoop中用于协助NameNode进行数据备份和管理的辅助节点。其中,Secondary NameNode通过定时与NameNode通信,获取当前集群的状态信息。当NameNode上的编辑日志文件过大时,Secondary NameNode会执行checkpoint操作,将当前的文件系统状态信息以及相关的元数据信息写入到新的镜像文件(fsimage)中。然后,Secondary NameNode再将新的fsimage文件和编辑日志文件合并起来,生成一个新的编辑日志文件,并将该文件发送给NameNode。 具体的checkpoint机制如下: 1. Secondary NameNode从NameNode获取当前集群的状态信息,包括文件系统元数据信息以及编辑日志文件。 2. Secondary NameNode将当前编辑日志文件复制到本地,然后开始执行checkpoint操作。 3. 在执行checkpoint操作期间,Secondary NameNode将当前的文件系统状态信息以及相关的元数据信息写入到新的fsimage文件中。 4. 当fsimage文件生成成功后,Secondary NameNode会将新的fsimage文件和编辑日志文件合并起来,生成一个新的编辑日志文件。 5. 最后,Secondary NameNode将新的编辑日志文件发送给NameNode,NameNode将新的编辑日志文件应用到当前的文件系统状态中,从而完成checkpoint操作。 值得注意的是,Secondary NameNode并不能代替NameNode进行故障恢复,它只是用来协助NameNode进行数据备份和管理的辅助节点。因此,在实际使用中,需要保证Secondary NameNode的可靠性和稳定性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值