Hadoop中NameNode的主从之间的CheckPoint机制

首先我们要知道,在NameNode中有三种数据的形式:

  • 内存元数据:内存中有一份完整的元数据]
  • 磁盘元数据镜像文件FSImage:磁盘有一个"准完整"的元数据镜像文件
  • 数据操作日志文件edit:用于衔接内存metadata和磁盘元数据镜像fsimage之间的日志

当客户端对hdfs的文件进行新增或者修改操作的时候,操作首先会被记入到edits日志文件中,当客户端操作成功后,相应的元数据会更新到内存的meta.data中
为了说明他们之间是如何工作的,请看下面的示意图:
在这里插入图片描述

  • 1:SecondaryNameNode定期通知Namenode进行checkpoint的操作
  • 2:NameNode将这区间的所有的操作日志都保存到日志003中,
  • 3:NameNode将fsimage和操作日志合并之后的003日志一起发送给SecondaryNameNode
  • 4:SecondaryNameNode通过镜像文件和操作日志,恢复成这个时间段的内存数据
  • 5:将合并之后的meta data进行序列化发送给NameNode.
  • 6:如果NameNode宕机了的话,那么,磁盘中的镜像文件也会恢复成上一个CheckPoint时间段的内存

虽然可以通过设置CheckPoint的时间,将此机制进行的更频繁,但是如果一旦宕机,仍然避免不了数据的丢失…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值