• hdfs standby namenode checkpoint 的一些参数


    dfs.namenode.checkpoint.period
    --两次检查点创建之间的固定时间间隔,默认3600,即1小时。所以去ann snn 看到的fsimage 相隔1个小时。
    
    dfs.namenode.checkpoint.txns
    --standby namenode 检查的事务数量。若检查事务数达到这个值,也触发一次checkpoint,1,000,000。
    
    以上两个参数都是触发snn checkpoint 的条件
    
    dfs.namenode.checkpoint.check.period
    --standby namenode检查是否满足建立checkpoint的条件的检查周期。默认60,即每1min检查一次。
    
    dfs.namenode.num.checkpoints.retained
    --在namenode上保存的fsimage的数目,超出的会被删除。默认保存2个。
    
    dfs.namenode.num.checkpoints.retained
    --最多能保存的edits文件个数,默认为1,000,000. 为防止standby namenode宕机导致edits文件堆积的情况,设置的限制。
    
    dfs.ha.tail-edits.period
    --standby namenode每隔多长时间去检测新的Edits文件。只检测完成了的Edits, 不检测inprogress的文件。default:60s
    

    StandbyCheckpointer 的doWork()
     SNN查看是否满足创建checkpoint 的条件:
    1) 距离上次checkpoint的时间间隔 >= ${dfs.namenode.checkpoint.period}(
    2) Edits中的事务条数达到${dfs.namenode.checkpoint.txns}限制
    这两个条件任何一个被满足了,就触发一次checkpoint 创建。

    也可以手动checkpoint :

    1. hdfs dfsadmin -safemode enter
     >Safe mode is ON in dev01/192.168.254.43:8020
     >Safe mode is ON in dev02/192.168.254.44:8020
    
    2. hdfs dfsadmin -saveNamespace
      > Save namespace successful for dev01/192.168.254.43:8020
      > Save namespace successful for dev02/192.168.254.44:8020
    
    3. hdfs dfsadmin -safemode leave
     >Safe mode is OFF in dev01/192.168.254.43:8020
     >Safe mode is OFF in dev02/192.168.254.44:8020
    
    首先,checkpoint 之前要先进入安全模式。进入安全模式后,执行saveNamespace命令,他会把a-nn的fsimage 与 大于fsimage txid的editlog(包括finalized 与 in_progress的)合并成新的fsimage并落盘,然后新生成一个editlog。

    checkpoint before:

    checkpoint after:


    参考:http://blog.cloudera.com/blog/2014/03/a-guide-to-checkpointing-in-hadoop/

  • 相关阅读:
    在C#中使用正则表达式
    C++流操纵算子(格式控制)
    linux(Fedora) doxygen 的安装和使用
    UTF8
    java cookie全解析
    Fedora16 安装Adobe Flash Player方法
    工程素养
    感悟数据封装
    谷歌如何保护隐私
    openCV画的词法分析图
  • 原文地址:https://www.cnblogs.com/jiangxiaoxian/p/9719117.html
Copyright © 2020-2023  润新知