Fsimage是hdfs文件的检查点,也可以理解为整个hdfs在某一时刻的快照,就是这个时刻的hdfs上所有的文件块和目录,分别的状态,位于哪些个datanode,各自的权限,各自的副本个数等序列化信息。在namenode启动后,会将对hdfs节点的操作(写操作更新,删除等)记录在editlog,secondarynamenode负责周期性的将fsimage合editlog合并(可以设置周期或者定时任务合并),具体合并的步骤如下:

  1. 将对hdfs的操作写入一个新创建的editlog.new文件,
  2. 将旧的editlog和fsimage文件通过http的get方式发送给secondarynamenode;
  3. Secondarynamenode周期性(五分钟)的将fsimage文件写入内存,根据editlog中的操作,一步步执行,生成新的fsimage文件;
  4. 通过http的post方式将新的fsimage文件发送给namenode,替换旧的fsimage文件
  5. 最后将editlog.new文件重命名为editlog文件。
    fsimage和editlog的合并过程

相关文章:

  • 2022-12-23
  • 2021-04-08
  • 2021-05-24
  • 2021-06-18
  • 2022-12-23
  • 2021-08-23
  • 2021-10-07
  • 2021-07-16
猜你喜欢
  • 2021-05-15
  • 2021-05-29
  • 2022-12-23
  • 2021-10-10
  • 2021-04-13
  • 2021-12-17
  • 2021-07-18
相关资源
相似解决方案