zoukankan      html  css  js  c++  java
  • 【Checkpoint】HA模式下结合zookeeper说一下checkpoint流程

    在这里插入图片描述
    checkpoint过程
    配置了HA的HDFS中,有active和standby namenode两个namenode节点。他们的内存中保存了一样的集群元数据信息,这个后续我会详细用一篇文章介绍HA,所以这里就不多说了。因为standby namenode已经将集群状态存储在内存中了,所以创建检查点checkpoint的过程只需要从内存中生成新的fsimage。

    在hadoopHA中两个namenode节点为了数据同步会通过Journalnode相互通信。JournalNode存储管理EditsLog,俩个namenode共享这个EditsLog,两个NameNode都可以读取Edits;但EditsLog只有Active状态的NameNode节点可以做写操作;

    1. SBNN查看是否满足创建检查点的条件:
      (1) 距离上次checkpoint的时间间隔 >= dfs.namenode.checkpoint.period(2)Edits中的事务条数达到{dfs.namenode.checkpoint.period} (2) Edits中的事务条数达到dfs.namenode.checkpoint.period2Edits{dfs.namenode.checkpoint.txns}限制
      这两个条件任何一个被满足了,就触发一次检查点创建。
    2. SbNN将内存中当前的状态保存成一个新的文件,命名为fsimage.ckpt_txid。其中txid是最后一个edit中的最后一条事务的ID(transaction ID)。然后为该fsimage文件创建一个MD5文件,并将fsimage文件重命名为fsimage_txid。
    3. SbNN向active namenode发送一条HTTP GET请求。请求中包含了SbNN的域名,端口以及新fsimage的txid。
    4. ANN收到请求后,用获取到的信息反过来向SbNN再发送一条HTTP GET请求,获取新的fsimage文件。这个新的fsimage文件传输到ANN上后,也是先命名为fsimage.ckpt_txid,并为它创建一个MD5文件。然后再改名为fsimage_txid。fsimage过程完成。
  • 相关阅读:
    学习OSGI---建项目,运行配置
    MongoDB 安装
    利用 ^ 异或运算符 进行交换(不需要第三方变量)
    2019HDU暑期多校训练-1004equation-方程求解
    HDU 4417-Super Mario-线段树+离线
    HDU 3333-Turing Tree-线段树+离散+离线
    POJ 2528-Mayor's posters-线段树+离散化
    POJ 2631-Roads in the North-树的直径
    POJ 2299-Ultra-QuickSort-线段树的两种建树方式
    noip2009最优贸易——spfa
  • 原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807308.html
Copyright © 2011-2022 走看看