zoukankan      html  css  js  c++  java
  • Hadoop之HDFS的元数据冷备份(CheckPoint)

    元数据冷备份

    冷备份的起因:
    namenode负责HDFS集群的元数据管理,要保证快速检索,namenode必须将数据放到内存中,但一旦断电或者故障,元数据会全部丢失,因此还必须在磁盘上做持久化。HDFS集群做元数据持久化的方式是edits.log+FSImage。edits.log存储近期的操作,FSImage存储以前的操作,这样是为了尽可能地保障namenode的启动速度。

    总而言之,原因为:

    • 避免NameNode中的元数据丢失;
    • 尽可能保障NameNode的启动速度。

    前言:
    NameNode和SecondaryNameNode触发进行冷备份的条件:

    • 时间达到你在配置文件中配置的时间(eg:6h);
    • edits.log已经达到的配置文件中配置的指定大小(eg:64M)。
    1. SecondaryNameNode通过周期性(5min)通过getEditLog获取editLog的大小,当其达到合并的大小时通过RollEditLog进行合并;
    2. NameNode停止使用editLog文件,并生成一个新的临时文件edit.new;
    3. SecondaryNameNode通过NameNode内建的Http服务器,以get的方法获取editLog与fsimage文件(get方法中携带fsimage与editLog的路径);
    4. SecondaryNameNode将fsimage载入内存并逐一执行editlog中的操作;
    5. 执结束后,会向NameNode发送Http请求,通知NameNode合并结束,NameNode通过Http get方法获取新的fsimage.chk文件;
    6. NameNode更新fsimage文件中的记录检查点执行的时间,并改名为fsimage文件;
    7. editLog.new文件改名为edit。
  • 相关阅读:
    linux离线安装mysql
    SpringBoot配置SSL证书
    java在liunx下备份mysql数据,恢复数据
    Redis的缓存穿透,缓存击穿,缓存雪崩
    Spring缓存注解
    Advanced Algorithm Scripting
    Arguments Optional
    Everything Be True
    Binary Agents
    Steamroller
  • 原文地址:https://www.cnblogs.com/we9999/p/12401811.html
Copyright © 2011-2022 走看看