在HDFS中遇到大量文件时,实际理想的NameNode内存大小是多少

时间:2016-05-29 14:48:28

标签: hadoop hdfs namenode

我的HDFS集群中将有2亿个文件,我们知道每个文件在NameNode内存中占用150个字节,加上3个块,因此NN中总共有600个字节。 所以我将我的NN内存设置为250GB,以便处理2亿个文件。我的问题是如此大的内存容量为250GB,会对GC造成太大的压力吗?为NN创建250GB内存是否可行。

Can someone just say something, why no body answer??

2 个答案:

答案 0 :(得分:2)

您的名称节点中可以有256 GB的物理内存。如果您的数据量大量增加,请考虑使用hdfs联合。我假设你已经在名称节点主机中拥有多核(有或没有超线程)。猜猜以下链接解决了您的GC问题: https://community.hortonworks.com/articles/14170/namenode-garbage-collection-configuration-best-pra.html

答案 1 :(得分:2)

理想名称节点内存大小是指数据元数据+操作系统+守护程序大小使用的总空间,以及处理相关数据的20-30%空间。

您还应该考虑数据进入群集的速率。如果您有1TB /天的数据,那么您必须考虑更大的内存驱动器,否则很快就会耗尽内存。

始终建议在任何时候至少有20%的内存空闲。这有助于避免名称节点进入完整的垃圾收集。 正如Marco先前指出的那样,您可以参考NameNode Garbage Collection Configuration: Best Practices and Rationale进行GC配置。

在你的情况下,256如果你不会获得大量数据并且不会对现有数据进行大量操作,那么看起来很好。

参考:How to Plan Capacity for Hadoop Cluster?

另请参阅:Select the Right Hardware for Your New Hadoop Cluster