jun*_*hou 9 hadoop memory-consumption
任何人都可以详细分析namenode的内存消耗吗?还是有一些参考资料?在网络中找不到资料.谢谢!
Pit*_*itt 13
我想内存消耗取决于你的HDFS设置,因此取决于HDFS的整体大小,并且与块大小有关.来自Hadoop NameNode wiki:
使用具有大量RAM的好服务器.RAM越多,文件系统越大,块大小越小.
来自https://twiki.opensciencegrid.org/bin/view/Documentation/HadoopUnderstanding:
Namenode:Hadoop的核心元数据服务器.这是系统中最关键的部分,只能有其中之一.这将存储文件系统映像和文件系统日志.namenode保留所有文件系统布局信息(文件,块,目录,权限等)和块位置.文件系统布局保留在磁盘上,块位置仅保留在内存中.当客户端打开文件时,namenode告诉客户端文件中所有块的位置; 然后客户端不再需要与namenode通信以进行数据传输.
同一网站建议如下:
Namenode:我们建议至少8GB的RAM(最小为2GB RAM),最好是16GB或更多.一个粗略的经验法则是每100TB原始磁盘空间1GB; 实际要求是每百万对象(文件,目录和块)大约1GB.CPU要求是任何现代多核服务器CPU.通常,namenode仅使用2-5%的CPU.由于这是单点故障,最重要的要求是可靠的硬件而不是高性能硬件.我们建议使用冗余电源和至少2个硬盘驱动器的节点.
有关内存使用情况的更详细分析,请查看以下链接:https: //issues.apache.org/jira/browse/HADOOP-1687
您也可能会发现这个问题很有趣:Hadoop namenode内存使用情况
NameNode(NN)有几个技术限制,面对任何一个都会限制您的可扩展性.
小智 5
计算示例
200 节点集群
24TB/节点
128MB 块大小
复制因子 = 3
需要多少空间?
# 块 = 200*24*2^20/(128*3)
~1200 万块
~12,000 MB 内存。
| 归档时间: |
|
| 查看次数: |
23183 次 |
| 最近记录: |