元数据合并
元数据位置:
内存:1.抽象目录树 2.数据和块的对应关系 3.数据块的存储位置
硬盘:1.抽象目录树 2.数据和块的对应关系
硬盘上元数据加载到内存中的时候 接受datanode的心跳的时候
会将块的存储位置填上
元数据合并的条件
元数据合并示意图:
元数据合并具体步骤:
1.secondarynamenode定期的向namenode发送检查,检查namenode
的元数据是否需要合并 每1min发送一次
2.namenode需要元数据合并
3.snn向namenode发送合并元数据的请求
4.namenode将正在编辑的日志 文件进行回滚,同时生成一个全新的
正在编辑的日志文件
5.snn将需要合并的edits文件和fsimage文件拉取到自己的本地
6.snn 将edits文件和fsimage文件进行合并,内存中,根据edits文件
的日志修改fsimage文件
7.snn 将合并好的fsimage文件发送给namenode,自己本地也会保存一份。
8.namenode将最新的fsimage文件进行重命名覆盖掉原来的fsimage文件进行重命名覆盖掉原来的fsimage文件。