hadoop_hdfs SecondaryNameNode详解 辅助管理FSImage与Edits原理 作用

9 篇文章 0 订阅

由于editlog记录了集群运行期间所有对HDFS的相关操作,所以这个文件会很大。
集群关闭后再次启动时会将Fsimage,editlog加载到内存中,进行合并,恢复到集群的。
由于editlog文件很大所有,集群再次启动时会花费较长时间。
为了加快集群的启动时间,所以使用secondarynameNode辅助NameNode合并Fsimage,editlog。
作用
Fsimage,Edits用于永久存储HDFS文件系统的镜像和操作日志。集群在二次启动时,使用Fsimage,Edits将集群状态恢复到集群关闭前的状态。
原理

在这里插入图片描述

1、 secnonaryNN通知NameNode切换editlog
2、secondaryNN从NameNode中获得FSImage和editlog(通过http方式)
3、secondaryNN将FSImage载入内存,然后开始合并editlog,合并之后成为新的fsimage
4、secondaryNN将新的fsimage发回给NameNode
5、NameNode用新的fsimage替换旧的fsimage
  • 完成合并的是secondarynamenode,会请求namenode停止使用edits,暂时将新写操作放入一个新的文件中(edits.new)。secondarynamenode从namenode中通过http get获得edits,因为要和fsimage合并,所以也是通过http get 的方式把fsimage加载到内存,然后逐一执行具体对文件系统的操作,与fsimage合并,生成新的fsimage,然后把fsimage发送给namenode,通过http post的方式。namenode从secondarynamenode获得了fsimage后会把原有的fsimage替换为新的fsimage,把edits.new变成edits。
  • Hadoop进入安全模式时需要管理员使用dfsadmin的save namespace来创建新的检查点。
    secondarynamenode在合并edits和fsimage时需要消耗的内存和namenode差不多,所以一般把namenode和secondarynamenode放在不同的机器上。
    fsimage与edits的合并时机取决于两个参数,第一个参数是默认1小时fsimage与edits合并一次。

第二个参数是hdfs操作次数达到1000000 也会触发合并

第一个参数:时间达到一个小时fsimage与edits就会进行合并

dfs.namenode.checkpoint.period :3600

第二个参数:hdfs操作达到1000000次也会进行合并

dfs.namenode.checkpoint.txns	:1000000

还有一个参数是每隔多长时间检查一次hdfs的操作次数

dfs.namenode.checkpoint.check.period	:60
SecondaryNamenode存在的意义
一:进行Fsimage和Edits的合并操作,减少edits日志大小,加快集群的启动速度
二:将Fsimage与Edits进行备份,防止丢失
SecondaryNamenode工作的触发因素有哪些
1.时间维度,默认一小时触发一次  	        dfs.namenode.checkpoint.period :3600
2.次数维度,默认100万次触发一次		dfs.namenode.checkpoint.txns : 1000000
3、六十秒判断一次是否达到100W
什么时候进入安全模式
1、在集群重启(二次启动)的时候进入安全模式,状态持续30s
2、人为进入
安全模式有什么特点
安全模式中只能读取数据,不能修改数据(增、删、改)
在安全模式下集群在做什么
1、在安全模式下集群在进行恢复元数据,即在合并fsimage和edits log
2、接受datanode的心跳信息,恢复block的位置信息。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值