如果我们在不增加文件数量的情况下增加存储在HDFS中的文件的大小,那么NameNode所需的内存是增加还是减少?

时间:2017-05-22 01:14:25

标签: hadoop hdfs

我从https://www.tutorialspoint.com/hadoop/hadoop_mock_test.htm?min=65&max=96

得到了问题(Q25)
  

问题25 - 如果我们增加存储在HDFS中的文件的大小而没有   增加文件数,然后增加namenode

所需的内存      

A - 减少

     

B - 增加

     

C - 保持不变

     

D - 可能会增加也可能不会增加

在答案键available here中,它表示NameNode 所需的内存减少,但我看不出这是怎么回事。

根据https://www.cloudera.com/documentation/enterprise/latest/topics/admin_nn_memory_config.html#concept_r14_qpc_r5
每个名称空间对象占用150个字节,并为每个文件和每个块存储名称空间对象。例如。大小为3个块的文件在NameNode上占用4个名称空间对象。

因此,命名空间对象占用的内存=(nFiles + nBlocks)* 150

如果是这种情况,NameNode 增加所需的内存不应该?因为nFiles在nBlocks增加时是不变的。

1 个答案:

答案 0 :(得分:0)

如果我们假设他们的答案是正确的,那么我们还必须假设我们真正改变的是块大小。如果块大小增加,则需要更少的块来保存相同的存储。