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

  • 相关阅读:
    用沃创云CRM系统获取客户的方式是什么?
    linux KVM的网络设置方法(bridge和nat)
    基于PHP+MySQL协同办公系统的设计与实现
    计算机保研复习
    聊聊神经网络的基础知识
    无线遥控方案无线收发 soc 芯片 CI2451&CI2454
    Teams Tab App 分析
    XML配置文件解析与建模
    【软考软件评测师】第十四章 白盒测试基础
    (附源码)python《C语言程序设计》课程案例库研究 毕业设计 030946
  • 原文地址:https://blog.csdn.net/m0_67393593/article/details/126717330