zoukankan      html  css  js  c++  java
  • HADOOP NAMENODE对Image和edits的处理

    1.SNN CheckPoint的处理流程

    配置中配置做CheckPoint的两个条件,一个是文件大小editlog大于多大就做,另一个是时间维度,多长时间做一次。

    (1)SNN首先检查是否需要进行checkpoint操作,如果上面两个条件任何一个满足了就可以

    (2)通过RPC 向NameNode发送请求,rollEditLog()NameNode关闭现在的edit的stream,同时生成一个edit.new,并打开加入写入的源。

    (3)SNN从NN处download fsimage文件和edit文件并进行merge

    (4)merge结束后通知NN从SNN处拉去FSImage文件保存在NN的FSImage.ckpt上面

    (5)一切顺利结束的话将edit.new重命名为edit,并open stream,将FSImage.ckpt重命名为FSImage,更新FSTime文件,更新时间戳

     

     

    2、NN重启对Image和Edits的处理

    先对各个目录的image和edit文件有效性进行判断,同时读取checkpoint的最近值。

    如果image.ckpt存在,同时edit.new存在那么也许正进行一半,无法确定是否完成image拉取,删掉image.ckpt。否则将image.ckpt rename到image。

    然后正常的读取FSImage,将edit merge进去。

    如果存在edit.new 也merge进去。

  • 相关阅读:
    FR #3题解
    L3-005. 垃圾箱分布
    L2-004. 这是二叉搜索树吗?
    L2-002. 链表去重
    L1-009. N个数求和
    L3-003. 社交集群
    L3-004. 肿瘤诊断
    L2-001. 紧急救援
    L3-002. 堆栈
    L2-007. 家庭房产
  • 原文地址:https://www.cnblogs.com/sidmeng/p/3539805.html
Copyright © 2011-2022 走看看