HDFS Namenode

1.Namenode组成

    fsimage镜像文件包含了整个HDFS文件系统的所有目录和文件的indoe信息。对于文件来说包括了数据块描述信息、修改时间、访问时间等;对于目录来说包括修改时间、访问权限控制信息(目录所属用户,所在组等)等。

    edit文件主要是在NameNode已经启动情况下对HDFS进行的各种更新操作进行记录,HDFS客户端执行所有的写操作都会被记录到edit文件中。

2. 1.X的SecondaryNamenode

     HDFS Namenode_第1张图片

  • secondarynamenode通知namenode生成新的日志文件(edits.new),以后的日志都写到新的日志文件中。

  • secondarynamenode用http get从元数据节点获得fsimage文件及旧的日志文件(edits)。

  • secondarynamenode将fsimage文件加载到内存中,并执行日志文件(edits)中的操作,然后生成新的fsimage文件。

  • secondarynamenode将新的fsimage文件用http post传回namenode.

  • namenode可以将旧的fsimage文件及旧的日志文件(edits),换为新的fsimage文件和新的日志文件(第一步生成的)(edits.new -> edits),然后更新fstime文件,写入此次checkpoint的时间。

  • 这样元数据节点中的fsimage文件保存了最新的checkpoint的元数据信息,日志文件也重新开始,不会变的很大了。 

通过上面的步骤能有效减少edits文件的大小从而减少每次启动执行merge的时间。


注:http://p-x1984.iteye.com/blog/860290


3.2.X的HA和merge(NFS和JQM)

NFS,shared NN EDITS LOG

HDFS Namenode_第2张图片


你可能感兴趣的:(HDFS Namenode)