• Hadoop中SecondaryNameNode工作机制


    http://www.cnblogs.com/thinkpad/p/5173705.html

    首先来看一下HDFS的结构,如下图:

    如上图,在HDFS架构中,NameNode是职责是管理元数据信息,DataNode的职责是负责数据存储,那么SecondaryNameNode的作用是什么呢?

    其实SecondaryNameNode是hadoop1.x中HDFS HA的一个解决方案,下面我们来看一下SecondaryNameNode工作的流程,如下图:

    1.NameNode管理着元数据信息,元数据信息会定期的刷到磁盘中,其中的两个文件是edits即操作日志文件和fsimage即元数据镜像文件,新的操作日志不会立即与fsimage进行合并,也不会刷到NameNode的内存中,而是会先写到edits中(因为合并需要消耗大量的资源)。当edits文件的大小达到一个临界值(默认是64MB)或者间隔一段时间(默认是1小时)的时候checkpoint会触发SecondaryNameNode进行工作。

    2.当触发一个checkpoint操作时,NameNode会生成一个新的edits即上图中的edits.new文件,同时SecondaryNameNode会将edits文件和fsimage复制到本地。

    3.SecondaryNameNode将本地的fsimage文件加载到内存中,然后再与edits文件进行合并生成一个新的fsimage文件即上图中的Fsimage.ckpt文件。

    4.SecondaryNameNode将新生成的Fsimage.ckpt文件复制到NameNode节点。

    5.在NameNode结点的edits.new文件和Fsimage.ckpt文件会替换掉原来的edits文件和fsimage文件,至此,刚好是一个轮回即在NameNode中又是edits和fsimage文件了。

    6.等待下一次checkpoint触发SecondaryNameNode进行工作,一直这样循环操作。

    注:checkpoint触发的条件可以在core-site.xml文件中进行配置,如下:

    [html] view plain copy

    1. fs.checkpoint.period

    2. 3600

    3. Thenumberofsecondsbetweentwoperiodiccheckpoints.

    4. fs.checkpoint.size

    5. 67108864

    6. Thesizeofthecurrenteditlog(inbytes)thattriggers

    7. aperiodiccheckpointevenifthefs.checkpoint.periodhasn’texpired.

  • 相关阅读:
    2.0SpingMVC使用RESTful
    对比学习系列论文COST(二):
    Android 扫码枪输入时屏蔽软键盘和顶部状态栏
    单点登录原理及实现方式
    《教练型管理者》读书笔记-第4篇【教练实践】
    Linux虚拟机安装及下载
    docker快速入门
    Java.lang.Class desiredAssertionStatus()方法有什么功能呢?
    开发一个Android应用:从零到一的实践指南
    2022年12月4日 SVD学习笔记
  • 原文地址:https://blog.csdn.net/m0_67393593/article/details/126717330