检查Hadoop分布式文件系统中的更新
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中的所有数据块的所有元数据和位置数据。