大数据笔记(二):Hadoop1.x下的第二名称节点(SecondaryNameNode)

在NameNode(NN)运行期间,HDFS因为文件的频繁更新会使得EditLog的体积不断增大,进而使NameNode在重启过程中逐条执行EditLog来更新FsImage的过程变得缓慢,使得NameNode长期处于只读状态,影响用户使用。
  HDFS提供了第二名称节点(SecondaryNameNode,SNN)来解决这个问题:
大数据笔记(二):Hadoop1.x下的第二名称节点(SecondaryNameNode)
  SNN每隔一段时间会向NN发出停止使用EditLog的请求,NN接收到请求后会生成新的EditLog.New,暂时将更新操作日志写入其中。SNN会将NN的FsImage和EditLog拉回本地并加载至内存,逐条执行EditLog,使FsImage保持最新(即合并操作),然后SNN将合并后的新FsImage发送回NN,NN收到后替换原有的FsImage,并使用EditLog.New替换原有的EditLog,从而减小了NN中EditLog的体积,同时也实现了定时冷备份的功能。