Boh*_*dan 3 java hadoop mapreduce heap-memory
我试图了解我的Hadoop集群是否有问题.当我在集群摘要中转到Web UI时,它说:
Cluster Summary
XXXXXXX files and directories, XXXXXX blocks = 7534776 total.
Heap Size is 1.95 GB / 1.95 GB (100%)
Run Code Online (Sandbox Code Playgroud)
我担心为什么这个堆大小指标为100%
请问有人请说明namenode堆大小如何影响群集性能.以及是否需要修复.
namenode Web UI显示如下值:
<h2>Cluster Summary (Heap Size is <%= StringUtils.byteDesc(Runtime.getRuntime().totalMemory()) %>/<%= StringUtils.byteDesc(Runtime.getRuntime().maxMemory()) %>)</h2>
Run Code Online (Sandbox Code Playgroud)
这些Runtime文件如下:
totalMemory()返回Java虚拟机中的内存总量.maxMemory()返回Java虚拟机将尝试使用的最大内存量
Max将成为-Xmxservice start命令的参数.总内存主要因素是HDFS群集中的块数.namenode每个块需要大约150个字节,每个副本需要+16个字节,并且必须保存在实时内存中.因此,默认复制因子3为您提供182个字节,而您有7534776个块提供约1.3GB.加上namenode中使用的所有其他非文件相关内存,1.95GB听起来是正确的.我会说你的HDFS集群大小需要更大的名称节点,更多的RAM.如果可能,请增加namenode启动-Xmx.如果超出,您将需要更大的VM /物理盒.
| 归档时间: |
|
| 查看次数: |
12099 次 |
| 最近记录: |