HDFS源码解析之NameNode(standby)元数据源码剖析(八)
其他
2020-07-23 12:42:56
阅读次数: 0
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会对数据进行更新,也就是重命名
转载自blog.csdn.net/weixin_43704599/article/details/107239709