HDFS中namenode元数据管理机制
元数据:
包含两个内容
1) fileName
2) block块存储位置 --> 刚开启hdfs时,datanode汇报块存储主机位置。
如图所示:
1、当client向namenode发出更新元数据请求时,namenode会根据更新的数据内容存放位置等更新好元数据。而每次做的更新操作都会被记录到edits中。
2、secondaryNamenode每隔一段时间(默认为30分钟)去询问一次namenode,看看是否需要合并(checkpoint),当namenode上的操作日志大到一定程度,会告诉secondaryNamenode需要合并。
3、此时namenode会滚动当前正在操作的日志文件edits.inprogress。
4、secondaryNamenode会将edits和fsimage下载下来进行合并。
5、secondaryNamenode会将内存中合并后的元数据存到硬盘,序列化上传到namenode,最后namenode会将secondaryNamenode上传的元数据存到镜像文件fsimage中,这样镜像文件就达到了备份的效果。