在Hadoop HDFS高可用性(HA)环境中,Checkpoint机制是非常重要的组成部分。因为在HA中,如果出现NameNode宕机,另一个备用节点需要接管工作环境(Failover),并且这个节点需要使用先前检查点(Checkpoint)中持久性的NameNode元数据作为启动点,以便高效地恢复NameNode。Checkpoint机制的基本原理是:定期将NameNode元数据列表列表写入磁盘,并将相应的信息发送给次要NameNode以保存为检查点文件。 在故障切换后,如果没有完整的检查点,则会根据实时操作日志(编辑日志)重新构建元数据。由于编辑日志不断增长,因此这样会导致构建时间和操作的数量变得相当复杂 - 这些是必要的,需要查询编辑日志以生成NameNode的状态和元数据。为了避免这种情况,因此,HDFS使用检查站(Checkpoint)机制:这是将数据快速复制到另一个位置以备份的过程,并且该位置通常是向次要节点中的编辑日志构建元数据文件。Checkpoint机制的实现有二种,一种是基于2个节点(NameNode和Secondary NameNode),另一种是基于3个节点(NameNode和2个DataNode)。在2节点方案中,NameNode节点与Secondary NameNode节点的交互 – Secondary NameNode会定期请求本地NameNode元数据,并将元数据连同编辑日志一起写入HDFS上的磁盘。 在其中4个步骤中,以下是检查点(Checkpoint)和同步过程的高度概述:步骤1:次要NameNode从NameNode检索元数据图步骤2:次要NameNode写入元数据以及EditLog文件(通过从NameNode节点获取的信息)步骤3:分布式文件系统中的元数据和EditLog数据的本地副本写入NameNode节点上的fsimage和EditLog文件,并清除临时的元数据文件xc------步骤4:次要NameNode将fsimage文件移至NameNode节点总的来说,Checkpoint机制使HA环境中NameNode节点恢复变得更加容易和高效,并且可以大大提高集群的恢复时间和可靠性。
领取专属 10元无门槛券
私享最新 技术干货