HDFS源码解析之NameNode(standby)元数据源码剖析(八)
分类:
文章
•
2024-11-04 20:55:58
1. NameNode(standby)元数据源码剖析

2. 总结
- 首先Namenode(standby)节点会通过EditLogTailer这个类的线程,每间隔60s就去检查是否需要做元数据同步了
- 然后会通过FSImage中调用FSEditLogerLoader去我们的Journalnode节点去拉取数据(通过的是http)
- 然后会把我们每一条元数据都转换为操作对象,依次对我们的内存中的元数据进行更新
- 当然我们还需要去给Namenode做checkpoint
- 他采用的是StandbyCheckpoint来进行每60秒检查一次,是否需要做checkpoint,其中有两个条件,达到一个就可以做checkpoint,
- 条件一 有超过100w条数据没有做checkpoint了
- 条件二 已经1个小时没有做了
- 还是调用的FSImage来进行对NameNode进行checkpoint
- 首先是将内存中的数据刷写到磁盘上,然后合并元数据
- 然后通过TransferFsimage来进行创建一个输入流将我们的数据流对拷给NameNode
- NameNode会对数据进行更新,也就是重命名