Fsimage 与 EditLog定义及合并过程

本文详细介绍了HDFS中fsimage文件与edits文件的作用,以及Secondary NameNode如何与NameNode协作进行元数据的合并过程。包括Secondary NameNode获取edits文件、执行合并操作、生成新的fsimage文件等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fsimage文件:即命名空间映像文件,是内存中的元数据在硬盘上的checkpoint,包含文件系统中的所有目录和文件inode的序列化信息。

edits:文件系统的写操作首先把它记录在edit中。

合并过程

1.secondary namenode通过周期性(五分钟),通过getEditLog获取editlog大小,当其达到合并的大小时通过RollEditLog方法进行合并。

2.namenode停止使用edits文件,并生成一个新的临时的edits.new文件。

3.Secondarynamenode通过namenode内建的Http服务器,以get的方式获取edits与fsimage文件。Get方法中携带着fsimage与edits的路径。

4.Secondaryname将fsimage载入内存并逐一执行edits中的操作,生成新的fsimage文件。

5.执行结束后,会向namenode发送http请求,告知namenode合并结束,namenode通过http post的方式获取新fsimage文件。

6.Namenode更新fsimage文件中记录检查点执行的时间,并改名为fsimage文件。

7.Edit.new文件更名为edit文件。

注:由此可知namenode 与 secondarynamenode 有着相似的内存需求,因为secondarynamenode也会将fsimage载入内存,因此secondarynamenode需要运行在一台专门机器上。

输入图片说明

转载于:https://my.oschina.net/134596/blog/1641305

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值