在hadoop中fsimage和snapshot有什么区别?

qij5mzcb  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(456)

我是hadoop新手。我想知道在hadoop中用于文件系统状态的snapshot和fsimage之间的区别。我听说他们两个做同样的工作。那么他们之间有什么区别呢?

1mrurvl1

1mrurvl11#

hdfs具有主/从体系结构。hdfs集群由一个namenode组成,它是一个主服务器,管理文件系统名称空间并控制客户端对文件的访问。对文件系统名称空间或其属性的任何更改都由namenode记录。namenode使用一个名为editlog的事务日志来持久记录文件系统元数据发生的每一个更改。例如,在hdfs中创建一个新文件、复制因子的更改等都会导致namenode在editlog中插入一条记录,表明这一点。namenode使用其本地主机os文件系统中的一个文件来存储editlog。
fsimage和editlog齐头并进这就是为什么这个解释。现在:
整个文件系统名称空间(包括块到文件的Map和文件系统属性)存储在名为fsimage的文件中。fsimage作为文件存储在namenode的本地文件系统中。
快照支持在特定时刻存储数据的副本。也可以为整个文件系统拍摄快照。这不涉及复制数据,而是将文件大小、块信息等记录到快照表目录中。
通常情况下,fsimage存储的信息是数据存储的位置、块数和相关信息,而snapshot存储的是数据/文件系统的只读映像。
我希望这能解释两者的区别。

相关问题