检查Hadoop分布式文件系统中的更新

时间:2020-02-23 14:33:26  来源:igfitidea点击:

Hadoop分布式文件系统(HDFS)是一个日志文件系统,其中HDF中的文件的新更改将被捕获在名为的文件中的NameNode上的编辑日志中。
定期,当文件达到某个阈值或者经过一段时间后,所示的条目需要致力于主文件。

NameNode本身不执行此操作,因为它旨在尽快回答应用程序请求。
更重要的是,具有由单个主服务器管理的此元数据更新操作涉及相当大的风险。

如果描述数据块与其相应文件之间的映射的元数据变得损坏,则原始数据与丢失一样好。

CheckPointing for Hadoop集群的服务由四个可能的守护进程之一处理,需要在他们自己的专用主节点上运行NameNode守护程序的主节点:

  • 辅助NameNode:在Hadoop 2之前,这是唯一的检查点守护程序,执行本节中描述的检查点处理。辅助NameNode具有众所周知的不准确的名称,因为它绝不是NameNode的"次级"或者"待机"。

  • 检查点节点:检查点节点是辅助NameNode的替代。它表现了检查点,而且没有。

  • 备份节点:提供检查点服务,但也维护备份和编辑文件。

  • 备用namenode:执行检查点服务,与旧的辅助NameNode不同,备用NameNode是一个真正的备用服务器,使NameNode进程的热插拔避免任何停机时间。

检查点过程

以下步骤描述了由NameNode和CheckPointing Service执行的检查点化过程(请注意,四个可能的守护进程可用于检查点):

  • 何时执行检查点时,nameNode会创建一个新文件以接受日志文件系统的更改。
    它命名为新文件。

  • 因此,文件不接受任何进一步的更改,并将其复制到CheckPointing服务以及该文件。

  • 检查点服务合并这两个文件,创建名为的文件。

  • 检查点服务将文件复制到NameNode。

  • nameNode将覆盖文件。

  • nameNode将文件重命名为。

备份节点注意事项

除了提供检查点函数外,备份节点还将所有HDFS块元数据的当前状态保持在内存中,就像NameNode一样。
从这个意义上讲,它保持了namenode状态的实时备份。

由于将块元数据保持在内存中,备份节点比执行检查点任务的检查点节点更有效,因为不需要传输和文件然后合并。
这些更改已在内存中合并。

使用备份节点的另一个好处是NameNode可以配置为委派备份节点,以便将Journal数据持续到磁盘。

如果我们使用的备份节点,则无法运行CheckPoint节点。
没有必要这样做,因为检查点的过程已经被照顾了。

备用namenode注意事项

备用NameNode是NameNode的指定热备MADER服务器。
在用作备用时,它还执行检查点处理过程。
因此,我们无法运行备份节点或者备用节点。

辅助NameNode,CheckPoint节点,备份节点和备用NameNode主服务器设计

运行辅助NameNode,Checkpoint节点,备份节点或者备用NameNode守护程序的主服务器具有与部署为NameNode主服务器的硬件要求相同。
原因是,这些服务器还在内存中加载到存储在HDFS中的所有数据块的所有元数据和位置数据。