首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >NameNode发生full GC优化及建议

NameNode发生full GC优化及建议

原创
作者头像
EMR小助手
修改2023-01-06 15:16:17
修改2023-01-06 15:16:17
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

问题现象:emr控制台“集群监控”-->“集群事件”里会出现“ NameNode 发生full GC ”的告警事件

原因:堆内存使用率过大或配置的堆内存不合理

可能影响:

  • namenode进程垃圾回收时间过长或内存oom,可能导致该NameNode进程无法正常提供服务,影响hdfs的正常读写性能

处理建议:

  • 调整NameNode堆内存的大小
  • NameNode中文件对象需要占用一定的内存,消耗内存大小随文件对象的生成而线性递增。NameNode中,文件对象可以是文件、目录或者Block。在NameNode WebUI界面的Summary也可以看到文件系统对象(filesystem objects)的统计。
1659604757022.jpg
1659604757022.jpg

       2. 在EMR控制台“集群服务”下,点击“HDFS”进入HDFS服务管理列表,切到“配置管理”页签,修改hadoop-env.sh中的“NNHeapsize”配置项,文件系统对象个数和NameNode配置的JVM参数的对应关系建议如下

代码语言:javascript
代码运行次数:0
运行
复制
文件对象数量达到10,000,000,则JVM参数建议配置为:-Xms6G -Xmx6G -XX:NewSize=512M -XX:MaxNewSize=512M
文件对象数量达到20,000,000,则JVM参数建议配置为:-Xms12G -Xmx12G -XX:NewSize=1G -XX:MaxNewSize=1G
文件对象数量达到50,000,000,则JVM参数建议配置为:-Xms32G -Xmx32G -XX:NewSize=3G -XX:MaxNewSize=3G
文件对象数量达到100,000,000,则JVM参数建议配置为:-Xms64G -Xmx64G -XX:NewSize=6G -XX:MaxNewSize=6G
文件对象数量达到200,000,000,则JVM参数建议配置为:-Xms96G -Xmx96G -XX:NewSize=9G -XX:MaxNewSize=9G
文件对象数量达到300,000,000,则JVM参数建议配置为:-Xms164G -Xmx164G -XX:NewSize=12G -XX:MaxNewSize=12G
  • 清理hdfs集群无用文件(如果无法增加内存,可以删除集群中无用文件,减少集群中的文件对象数量)
  • hadoop用户登录集群节点,选择并确认是无用的文件或目录,执行hdfs dfs -rm -r -skipTrash 文件或目录路径命令,需注意选项-skipTrash将跳过回收站(如果启用)并立即删除指定的文件。

PS:如需了解和配置监控指标及事件告警可参考下列文档:

emr集群事件

快速配置云监控事件告警推送

emr监控指标项告警配置

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原因:堆内存使用率过大或配置的堆内存不合理
  • 可能影响:
  • 处理建议:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档