为什么名称节点文件使用两倍的内存?

q8l4jmvw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(295)

我在cloudera博客或hortonwork论坛上读到:
“hdfs中的每个文件、目录和块都表示为namenode内存中的一个对象,根据经验,每个对象占用150字节。因此,1000万个文件,每个文件使用一个块,将使用大约3g的内存。”
但是:
10000000*150=150000000字节=1.5GB。
看来3gb我需要分配300字节。我不明白为什么每个文件用300字节而不是150字节?只是名字节点。不应该有任何复制因素。
谢谢

72qzrwbm

72qzrwbm1#

对于每个小文件,namenode需要在内存中存储两个对象:每个文件对象和每个块对象。这导致每个文件大约有300字节。

相关问题