HDFS~fsimag和edits

一、元数据

文件系统的目录树中国的每个节点包含了文件的信息(比如文件名、文件属性等)以及文件与DataNode的对应关系,这些数据成为元数据(Meta data)

二、edits

  • 要读写HDFS中的文件,必须经过NameNode(先从目录树中找到文件Meta数据).在NameNode中,整个文件系统的目录树是存放在内存中的,当重启NameNode时,内存中的目录树无法保存,导致DataNode上的文件无法被读取
  • HDFS使用了日志,就是当引起HDFS文件系统改变的操作执行时,在改变元数据的同时会把操作记录在日志中,这些文件就是edits文件.
  • 当HDFS重启时,会从edits文件中读出那些操作,一条条地执行,将目录树恢复到关机前最后一次操作的样子.

三、fsimage

  • 当NameNode几个月重启一次,就要把前几个月的操作日志全部都重做一遍,这个工作量非常大,重启过程也非常慢
  • HDFS引入了一个叫做fsimage的文件,用于保存NameNode的所有元数据.当执行改变文件系统的操作时,依然先写入edits中,只不过每隔一段时间要将edits合并到fsimage中,合并完的edits被扔掉,如此可以保证fsimage和当前最新的元数据没有太大的差异
  • edits中实际上保存的是fsimage与内存中元数据的差异

    fsimage + edits = 内存元数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值