美文网首页
hdfs回顾

hdfs回顾

作者: 建康_木子 | 来源:发表于2019-04-26 16:00 被阅读0次
    namenode和datanode
    namenode:保存两类数据fsImage和FsEditLog
    FsImage:用于维护文件系统树及文件树中所有文件和文件夹的元数据
    EditLog:记录所有针对文件的操作
    namenode记录了所有数据块所在数据节点的位置信息,但是并不是通过持久化方式存储这些信息的,而是系统每次启动时扫描所有数据节点重构得到这些信息的.
    namenode的启动:首先将FsImage的内容加载到内存中,然后执行EditLog的各项操作使得内存中的元数据保持最新.然后创建一个新的FsImage文件和一个空的EditLog文件.namenode成功启动后,所有的操作都会被写入新的EditLog文件中.namenode启动过程中处于安全模式,只能对外提供读操作,无法提供写操作,启动完成后推出安全模式,对外提供读写操作.
    secondnamenode:namonode运行过程中,EditLog会变得越来越大,在namenode正常运行过程中对系统性能影响不大,但是当namenode重启时需要逐条执行EditLog内的指令使得FsImage保持最新.如果EditLog很大,将会导致namenode的启动很慢,长期处于安全模式.secondnamenode有两个作用:完成EditLog和FsImage的合并,作为namenode的检查点.
    (1):EditLog和FsImage的合并:secondnamenode会定时和namenode通信,请求其停止使用EditLog,暂时将新到达的操作添加到新的EditLog.new的文件中,然后,secondnamenode把namenode中的FsImage和EditLog拉回到本地加载到内存中进行合并,合并后将新的FsImage文件发送给namenode,最后namenode用最新的FsImage文件代替旧的FsImage文件,同时用EditLog.new提到EditLog文件.
    (2):检查点:只是提供了一个检查点,但是不支持热备份,因为EditLog.new的内容secondnamenode没有.

    相关文章

      网友评论

          本文标题:hdfs回顾

          本文链接:https://www.haomeiwen.com/subject/rgfqnqtx.html