在cloudera博客中,我们read进行以下操作:
“ SecondaryNameNode定期将EditLog压缩为一个 “检查点”;然后清除EditLog。重新启动NameNode 然后涉及加载最新的检查点和较短的EditLog 仅包含自检查点以来的事件”
也在其他网页中:
”将在创建检查点时,辅助节点发送fsimage和 编辑文件以命名节点”
我有一些问题,也许您可以链接一些资源/书以阅读以下详细信息:
问题1:
我不明白为什么SecodnaryName节点将编辑文件发送回NameNode ? NameNode在启动过程中只需要 检查点,对吗? NameNode 已经具有相同的编辑文件(基于此编辑文件创建检查点)。也许需要清理编辑文件?也许是文档中提到的“较短的EditLog” ?
问题2:
NameNode如何清理编辑文件?原始编辑文件被从辅助名称节点检索的新文件替换了吗?也许还有其他过程可以根据chek-kpoint内容清理编辑内容?
问题3:
编辑文件从NameNode发送到SecondaryNode后,可以在NameNode中对该编辑文件进行修改吗?还是需要将新的编辑文件发送到辅助名称节点进行备份之后创建新的编辑文件?
问题4:
我还读到,次要NameNode需要与NameNode一样多的RAM。真奇怪。为什么?辅助名称节点的主要任务是创建主要需要I / O的快照,不是吗?