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