hdfs里的文件下载HDFS之fsimage、metadata、edits、fstime(二十七)

 

不多说,直接上干货!

 首先,要有这个观念,元数据信息(fsimage + editslog)

 

    fsimage是在磁盘

    metadata是在内存

    ********************fsimage把内存的,序列化到磁盘了。********************

    元数据信息(fsimage + editslog),内存保存一份,磁盘保存一份,,,,,其他有个什么地方也要保存一份。

  ==============》 就如,学校图书馆里。书库,为了使得借书运转,要买多本书存库。《======================

   

    fsimage:元数据镜像文件,存储某一时段NameNode内存元数据信息。

        在hadoop1.*里,就是fsimage。

        在hadoop2.*里,还加了后缀。

        听说过镜像。  关闭时,将机器内存的信息写到磁盘,启动时,将磁盘的东西读取到内存。

   edits:操作日志文件

        比如说,上传一个文件或删除一个文件,这些操作。

   fstime:保存最近一次checkpoint的时间     

        比如说,在6月1号买的新电脑,在6月5日,做的第一次还原点,在6月18号,由于中病毒。在6月21号是做的第二次还原点。Checkpoint是保存最近的那次做还原点的数据。6月18-21日。

  namenode始终在内存中保存metadata,用于处理“读请求”。到有“读请求”时,namenode会首先写editlog到磁盘,即向edits(操作日志文件)中写入日志,成功返回后,才会修改内存,并且向客户端返回。

  形象化例子:我client提货员,向仓库管理员namenode,请求提货,在他同意同时,会将这情况写到editlog,先是将editlog写到磁盘,成功后,再写到内存。

  

fsimage载入内存     合并edits

     |

     |

     |

     新的 fsimage  

          |

     |

     |

     namenode,替换旧的

 

 

条件一:

  fs.checkpoint.period

  默认是3600秒,每隔一个小时,Secondarynamenode就要下载fsimage和edits,进行数据的同步。

条件二:

  fs.checkpoint.size

  edits一直在变大。一旦达到,就要进行合并。

  只要达到这两个条件的其中一个,都会进行合并。

欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑
 
 
 

同时,大家可以关注我的个人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   详情请见:http://www.cnblogs.com/zlslch/p/7473861.html

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

      对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071) 

 

 


原文地址:https://www.cnblogs.com/zlslch/p/5836961.html