Advertisement

Hadoop High Availability Analysis

阅读量:

HDFS高可用性架构设计

HDFS所采用的存储机制为fsimage与edits相结合的形式,其中fsimage用于保存某一特定时间点的内存文件系统镜像,而edits则记录了所有的修改操作。每一个修改操作都被视为一个独立的事务,并通过一个整型事务ID进行标识。在执行checkpoint操作时,系统会将当前的fsimage进行存储,并同时清除先前的edits文件。此外,edits文件会被分割为多个segment,每个segment包含一组连续的修改操作记录。当前正在写入的segment文件名中会包含“inprogress”以及起始和结束的事务ID标识,待写入完成后,该文件名仅保留起始和结束事务ID。在进行恢复操作时,系统首先将最新的fsimage加载至内存中,随后依次回放对应的edits文件内容,从而实现状态恢复。整个过程与数据库中的redo log机制具有相似之处。

为提升系统的可用性水平,HDFS提供了包括SecondaryNameNode、NFS以及QuorumJournalManager在内的多种解决方案。

  • SecondaryNameNode

SecondaryNameNode会周期性地从NameNode获取fsimage与edits文件,此时NameNode暂停对edits的写入操作,并生成新的edit.new文件。随后,Secondar

全部评论 (0)

还没有任何评论哟~