有没有人能详细分析一下namenode的内存消耗?或者有什么参考资料?在network.Thank里找不到素材了吗!
发布于 2012-11-09 17:29:12
我认为内存消耗将取决于您的HDFS设置,因此取决于HDFS的整体大小,并与块大小相关。从Hadoop NameNode wiki
使用一个有大量内存的好服务器。RAM越多,文件系统就越大,块大小就越小。
来自https://twiki.opensciencegrid.org/bin/view/Documentation/HadoopUnderstanding
Hadoop:
的核心元数据服务器。这是系统中最关键的部分,并且只能有其中之一。这将存储文件系统映像和文件系统日志。namenode保存所有文件系统布局信息(文件、块、目录、权限等)和块位置。文件系统布局保存在磁盘上,块位置仅保存在内存中。当客户端打开文件时,namenode会告诉客户端文件中所有块的位置;然后客户端就不再需要与namenode通信来进行数据传输。
同一站点推荐以下内容:
Namenode:我们建议内存至少为8 2GB (最低为2 2GB内存),最好是16 2GB或更大。粗略的经验法则是每100TB原始磁盘空间1 1GB;实际需求大约是每百万个对象(文件、目录和块)1 1GB。CPU要求是任何现代多核服务器CPU。通常,namenode只使用2-5%的CPU。由于这是单点故障,因此最重要的要求是可靠的硬件,而不是高性能的硬件。我们建议使用具有冗余电源和至少2个硬盘的节点。
有关内存使用情况的更详细分析,请查看此链接:https://issues.apache.org/jira/browse/HADOOP-1687
您可能还会发现这个问题很有趣:Hadoop namenode memory usage
发布于 2012-11-10 04:10:05
NameNode (NN)有几个技术限制,面对其中任何一个都会限制您的可伸缩性。
发布于 2016-09-15 21:11:56
示例计算
200节点集群
24TB/节点
128MB数据块大小
复制因子=3
需要多少空间?
块= 200*24*2^20/(128*3)
~1200万个数据块
大约12,000 MB内存。
https://stackoverflow.com/questions/13304941
复制相似问题