HDFS元数据管理

NameNode将文件系统的元数据以不同的文件保存在本地磁盘中,其中最重要的两个文件是fsimage和edits。fsimage包含文件系统元数据的完整快照,而edits仅包含元数据的增量修改。

NameNode启动后,直接加载fsimage到RAM,再通过回放引入edits的增量变化。


NameNode与SecondaryNameNode之间交互定期将edits引入fsimage:

  1. SecondaryNameNode引导NameNode滚动更新edits文件,并开始将新的内容写入edits.new

  2. SecondaryNameNode将NameNode的fsimage和edtis文件复制到本地的检查点目录

  3. SecondaryNameNode载入fsimage文件,回放edits内容,将其合并到fsimage,将新的fsimage文件压缩后写入磁盘

  4. SecondaryNameNode将新的fsimage文件送回NameNode,NameNode在接收新的fsimage文件后直接加载和应用该文件

  5. NameNode将edits.new更名为edits

  6. 默认情况下,该过程每小时执行一次,或者当NameNode的edits文件达到默认的64MB时也会被触发

你可能感兴趣的:(hdfs,元数据管理)