a、配置好HA后,客户端所有的更新操作将会写到JournalNodes节点的共享目录中,可以通过配置
- <property>
- <name>dfs.namenode.shared.edits.dir</name>
- <value>qjournal://XXXX/mycluster</value>
- </property>
- <property>
- <name>dfs.journalnode.edits.dir</name>
- <value>/export1/hadoop2x/dfs/journal</value>
- </property>
复制代码
b、Active Namenode和Standby NameNode从JournalNodes的edits共享目录中同步edits到自己edits目录中;
c、Standby NameNode中的StandbyCheckpointer类会定期的检查合并的条件是否成立,如果成立会合并fsimage和edits文件;
d、Standby NameNode中的StandbyCheckpointer类合并完之后,将合并之后的fsimage上传到Active NameNode相应目录中;
e、Active NameNode接到最新的fsimage文件之后,将旧的fsimage和edits文件清理掉;
f、通过上面的几步,fsimage和edits文件就完成了合并,由于HA机制,会使得Standby NameNode和Active NameNode都拥有最新的fsimage和edits文件。
|