美文网首页
HDFS中Secondary NameNode和Standby

HDFS中Secondary NameNode和Standby

作者: alexlee666 | 来源:发表于2019-09-29 10:38 被阅读0次

一、fsimage文件和edits log文件

1.1 文件中存储的数据

在HDFS中,fsimage和eidts是NameNode两个非常重要的文件。

  • fsimage文件:是HDFS文件系统存于硬盘中的元数据检查点(即全量),里面记录了自最后一次检查点之前HDFS文件系统中所有目录和文件的序列化信息;
  • edits log文件:保存了自最后一次检查点之后所有针对HDFS文件系统的操作(即增量),比如:增加文件、重命名文件、删除目录等等。

1.2 文件的作用

在NameNode启动时候,会先将fsimage中的文件系统元数据信息加载到内存,然后根据eidts中的记录将内存中的元数据同步至最新状态;所以,这两个文件一旦损坏或丢失,将导致整个HDFS文件系统不可用。

1.3 文件的合并merge

类似于数据库中的检查点,为了避免edits日志过大(会导致解析加载到内存中会很耗时),需要将fsimage和edits 日志文件合并成新的fsimage文件:

  • 冷备份:在Hadoop1.X中,SecondaryNameNode会按照时间阈值(比如24小时)或者edits日志大小阈值(比如1G),周期性的将fsimage和edits的合并,然后将最新的fsimage推送给NameNode;
  • 热备份:在Hadoop2.X中采用主从架构,这个动作是由Standby NameNode来完成;一旦Active NameNode挂掉,Standby NameNode会马上顶上;

注意:fsimage和edits log文件是经过了序列化的,无法直接查看。

二、Secondary NameNode:

  • HDFS单NameNode节点的情况下(即非高可用HA),Secondary NameNode负责每隔一段时间将旧的fsimage文件和edits log文件merge成新的fsimage并替换,即为NameNode 合并编辑日志edits log,减少 NameNode 启动时间;
  • 非实时merge,一旦NameNode挂了,可能会导致元数据丢失;


    Secondary NameNode

三、Standby NameNde:

  • HDFS主从架构情况下(即高可用HA,生产环境都是用HA的),Active NameNode和Standby NameNode,后者会实时同步前者的fsimage,并将merge后的新fsimage文件替换前者中旧的fsimage文件;
  • 实时merge,一旦前者挂了,后者能够马上顶上,不会出现元数据丢失;

具体过程,如图所示:


图2-1. HDFS主从架构

即非HA时,有Secondary NameNode;HA时,有Standby NameNode。


参考:https://blog.csdn.net/qq_15849595/article/details/85039942

相关文章

网友评论

      本文标题:HDFS中Secondary NameNode和Standby

      本文链接:https://www.haomeiwen.com/subject/rncbuctx.html