• 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/

  • 相关阅读:
    图片处理
    define 常量的定义和读取
    curl
    stream_get_contents 和file_get_content的区别
    php flock 文件锁
    字符串函数
    php 常量
    debug_backtrace()
    pathlib模块替代os.path
    Python中对 文件 的各种骚操作
  • 原文地址:https://www.cnblogs.com/jiangxiaoxian/p/9719117.html
Copyright © 2020-2023  润新知