NameNode元数据【[NameNode是如何管理Block块的]】

问题导入

在hdfs中,文件是被划分了一堆堆的block块,那如果文件很大、以及文件很多,Hadoop是如何记录和整理文件和block块的关系呢?

答案就在于NameNode。

edits文件,fsimage文件

文字演示:

NameNode基于一批edits和一个fsimage文件的配合 完成整个文件系统的管理和维护。

edits文件,是一个流水账文件,记录了hdfs中的每一次操作,以及本次操作影响的文件其对应的block。

将全部的edits文件,合并为最终结果,即可得到一个FSImage文件。 

 NameNode基于edits和FSImage的配合,完成整个文件系统文件的管理。

 视频演示:

视频演示

NameNode元数据管理维护 

1. 每次对HDFS的操作,均被edits文件记录

2. edits达到大小上线后,开启新的edits记录

3. 定期进行edits的合并操作

如当前没有fsimage文件,  将全部edits合并为第一个fsimage

如当前已存在fsimage文件,将全部edits和已存在的fsimage进行合并,形成新的fsimage

4. 重复123流程

元数据合并控制参数

对于元数据的合并,是一个定时过程,基于:

dfs.namenode.checkpoint.period,默认3600(秒)即1小时

dfs.namenode.checkpoint.txns,默认1000000,即100W次事务

只要有一个达到条件就执行。

检查是否达到条件,默认60秒检查一次,基于:

dfs.namenode.checkpoint.check.period,默认60(秒),来决定 

 SecondaryNameNode的作用

 对于元数据的合并,还记得HDFS集群有一个辅助角色:SecondaryNameNode吗?

 

 没错,合并元数据的事情就是它干的

SecondaryNameNode会通过http从NameNode拉取数据(edits和fsimage)

然后合并完成后提供给NameNode使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小智学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值