gpt4 book ai didi

hadoop - Hadoop 中的副本在 NameNode 上所需的内存

转载 作者:可可西里 更新时间:2023-11-01 16:39:45 25 4
gpt4 key购买 nike

this Cloudera 博文,在Replication 部分,已经解释了复制不会消耗NameNode 上的内存。但是,我对此持怀疑态度,因为我知道 NameNode 在主内存中存储有关每个文件及其副本的信息。那么,无论有无复制,内存需求如何相同?

最佳答案

那么内存消耗取决于你的意思,因为有物理内存虚拟内存(我这里只说Namenode)

物理内存而言,Cloudera 博客是正确的,因为 Datanode 有责任与 Namenode 通信(例如,在重启后连接时)它维护的 block 。 Namenode 仅将文件系统结构存储到磁盘(fsimage 和编辑文件)。

现在当您谈论虚拟内存时情况略有不同,您可以从源代码中清楚地看到FSNamesystem(负责维护的组件RAM 中的 FS 结构),具有对 BlockManager 的引用。 BlockManager 本身维护着对 BlocksMap 的引用,根据文档,它维护着包含各自 block 的数据节点列表。

This class maintains the map from a block to its metadata. block's metadata currently includes blockCollection it belongs to and the datanodes that store the block.

如果您查看BlockManager 的源代码,您可以清楚地看到BlocksMap 的用途和使用位置。

我想到的是,因为 Cloudera 人员在大规模计算方面有经验并且可能测量了影响,所以与 Namenode 必须处理的其余元数据相比,这个结构的大小并不重要.

关于hadoop - Hadoop 中的副本在 NameNode 上所需的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43740825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com