1、DataNode为每一个数据复制数据副本,保存在其它DataNode中。
2、NameNode文件系统的元数据全保存在RAM中,DataNode初始化和每隔1小时,向NameNode发送块报告,以便NameNode掌握各个DataNode的运行状态,并进行DataNode的映照。
3、预写日志。通过在edits中顺序增加的方式减少I/O操作。
4、fsimage:NameNode启动后,加载fsimage到RAM,引入edits变化。
5、Hadoop的新版本已实现周期性更换edits文件,提供事务ID进行标识,支持数据回流。
1、DataNode为每一个数据复制数据副本,保存在其它DataNode中。
2、NameNode文件系统的元数据全保存在RAM中,DataNode初始化和每隔1小时,向NameNode发送块报告,以便NameNode掌握各个DataNode的运行状态,并进行DataNode的映照。
3、预写日志。通过在edits中顺序增加的方式减少I/O操作。
4、fsimage:NameNode启动后,加载fsimage到RAM,引入edits变化。
5、Hadoop的新版本已实现周期性更换edits文件,提供事务ID进行标识,支持数据回流。
HDFS中的操作日志文件即WAL,寄存在edits中。
1、NameNode将改动内容写到edits。
2、edits会渐渐变大。
3、定期将edits加入fsimage
NameNode简称NN,Secondary NameNode简称SNN,为次NameNode。
1、次NameNode引导NameNode转动更新edits文件,将更新内容写入edits.new中。
2、次NameNode将NameNode的fsimage和edits文件复制到本地检查点目录
3、次NameNode载入fsimage文件,将edits内容合并到fsimage,将新的fsimage文件紧缩后写入磁盘。
4、次NameNode将新的fsimage文件送回NameNode 。
5、NameNode接收新的fsimage文件后,直接加载使该文件生效。
6、NameNode将edits.new改回为edits。
7、到此为止,本次对fsimage的更新完成。edits为以后增加的新内容,下次迭代时可继续使用这些内容。