hadoop启动过程(二)secondNameNode

作用:定期将namenode的fsimage和edits合并(数据或者操作不多的时候可以关闭 ),可加速hdfs启动(如果edits很多的话,开启会很难)

SecondNameNode:

它会定期的和namenode就行通信来完成整个的备份操作(????更新fsimage操作)。具体的操作如下:

SecondaryNameNode的工作过程:

1. SecondaryNameNode会定期和NameNode通信,请求其停止使用EditLog文件,暂时将新的写操作写到一个新的文件edit.new上来,这个操作是瞬间完成,上层写日志的函数完全感觉不到差别;

2. SecondaryNameNode通过HTTP GET方式从NameNode上获取到FsImage和EditLog文件,并下载到本地的相应目录下;

3. SecondaryNameNode将下载下来的FsImage载入到内存,然后一条一条地执行EditLog文件中的各项更新操作,使得内存中的FsImage保持最新;这个过程就是EditLog和FsImage文件合并;

4. SecondaryNameNode执行完(3)操作之后,会通过post方式将新的FsImage文件发送到NameNode节点上

5. NameNode将从SecondaryNameNode接收到的新的FsImage替换旧的FsImage文件,同时将edit.new替换EditLog文件,通过这个过程EditLog就变小了

除了这个自带的备份操作,还需要进行人工的备份,把一份fsimage到多个地方进行备份,万一namenode的节点坏了呢。

猜你喜欢

转载自blog.csdn.net/u013077314/article/details/85001978