1 个回答
Secondary NameNode是合并NameNode的edit logs到fsimage⽂件中;它的具体⼯作机制:
所以如果NameNode中的元数据丢失,是可以从Secondary NameNode恢复⼀部分元数据信息的,但不是全部,因为NameNode正在写的edits⽇志还没有拷⻉到Secondary NameNode,这部分恢复不了。
1. Secondary NameNode询问NameNode是否需要checkpoint。直接带回NameNode是否检查结果;
2. Secondary NameNode请求执⾏checkpoint;
3. NameNode滚动正在写的edits⽇志;
4. 将滚动前的编辑⽇志和镜像⽂件拷⻉到Secondary NameNode;
5. Secondary NameNode加载编辑⽇志和镜像⽂件到内存,并合并;
6. ⽣成新的镜像⽂件fsimage.chkpoint;
7. 拷⻉fsimage.chkpoint到NameNode;
8. NameNode将fsimage.chkpoint重新命名成fsimage;
所以如果NameNode中的元数据丢失,是可以从Secondary NameNode恢复⼀部分元数据信息的,但不是全部,因为NameNode正在写的edits⽇志还没有拷⻉到Secondary NameNode,这部分恢复不了。
发布于:2年前 (2023-02-16) IP属地:四川省
我来回答
您需要 登录 后回答此问题!