4

I will have 200 million files in my HDFS cluster, we know each file will occupy 150 bytes in NameNode memory, plus 3 blocks so there are total 600 bytes in NN. So I set my NN memory having 250GB to well handle 200 Million files. My question is that so big memory size of 250GB, will it cause too much pressure on GC ? Is it feasible that creating 250GB Memory for NN.

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

2 回答 2

2

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

于 2016-06-07T03:30:26.620 回答
2

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

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

它始终建议在任何时间点至少有 20% 的可用内存。这将有助于避免名称节点进入完整的垃圾收集。正如 Marco 之前指定的,您可以参考NameNode 垃圾收集配置: GC 配置的最佳实践和基本原理。

在您的情况下,如果您不打算获取大量数据并且不打算对现有数据进行大量操作,那么 256 看起来不错。

参考:Hadoop集群如何规划容量?

另请参阅:为您的新 Hadoop 集群选择正确的硬件

于 2016-06-13T14:24:35.647 回答