今天分享的的是NameNode中edit日志文件怎么和fsimage合并的,又是什么时候进行合并的,谁负责合并的,好的,带着这几个问题来思考
1,先来一张图说明
合并过程在这个过程中很好的解释了edit日志文件怎么和fsimage合并的,又是什么时候进行合并的,谁负责合并的,下来我在用文字描述一下
1,默认情况下,当3600秒/edits文件达到64M的时候,要进行合并(checkPoint)操作,这时候NN会通知SNN,让SNN起来干活
2,SNN收到之后会告知NN,不要再往edits文件中写东西了,我要合并了【这个和好理解,一边合并一边写,成何体统,哈哈】
3,NN收到SNN的警告之后,会新建一个edits叫edits_new,NN如果有新的元数据需要记录的时候就往edits_new中写
4,SNN下载NN中的edits和fsimage文件
5,SNN在自己内部进行合并,这样做的好处就是不影响NN,这个也是SNN存在的价值,这个也是设计的一个点睛之处,所以在实际工作中,需要用到的时候,可以想起来这种思路
6,SNN合并完之后,将fsimage.checkpoint上传到NN,这个上传是针对之前的下载来说的,就是传输的意思
7,NN收到fsimage.checkpoint之后,会进行重命名,将fsimage.checkpoint重命名位fsimage,将edits_new重命名位edits,这样就回到NN最初的状态,又可以等待3600秒/64M满了,再走1,2,3,4,5,6,7
好了,早早休息
望指正,不吝赐教!
网友评论