hadoop—在hdfs中遇到大量文件时,实际理想的namenode内存大小是多少

xlpyo6sf  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(777)

我将在我的hdfs集群中有2亿个文件,我们知道每个文件将在namenode内存中占用150字节,加上3个块,因此nn中总共有600字节。所以我把我的nn内存设置为250gb,以很好地处理2亿个文件。我的问题是250gb这么大的内存,会不会对gc造成太大的压力?为nn创建250gb内存是否可行。

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

fiei3ece1#

理想的名称节点内存大小是meta数据使用的总空间+操作系统+守护进程的大小,以及处理相关数据的20-30%的空间。
您还应该考虑数据进入集群的速率。如果数据以1tb/天的速度输入,则必须考虑使用更大的内存驱动器,否则很快就会耗尽内存。
它总是建议在任何时候至少有20%的内存可用。这将有助于避免name节点进入完整的垃圾收集。正如marco在前面指定的,您可以参考namenode垃圾收集配置:gc配置的最佳实践和基本原理。
在您的例子中,如果您不打算获取大量数据,也不打算对现有数据执行大量操作,那么256看起来不错。
参考:如何规划hadoop集群的容量?
另请参阅:为新的hadoop集群选择合适的硬件

34gzjxbg

34gzjxbg2#

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

相关问题