ALM-18018 NodeManager堆内存使用率超过阈值
告警解释
系统每30秒周期性检测Yarn服务堆内存使用状态,当检测到NodeManager实例堆内存使用率超出阈值(最大内存的95%)时产生该告警。
堆内存使用率小于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
18018 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
NodeManager堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至可能会造成内存溢出导致Yarn服务崩溃。
可能原因
该节点NodeManager实例堆内存使用率过大,或配置的堆内存不合理,导致使用率超过阈值。
处理步骤
检查堆内存使用率。
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警 > ALM-18018 NodeManager堆内存使用率超过阈值 > 定位信息”。查看告警上报的实例的IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Yarn > 实例 > NodeManager(对应上报告警实例IP地址)”,单击图表区域右上角的下拉菜单,选择“定制 > 资源”,勾选“NodeManager内存使用率”。查看堆内存使用情况。
图1 定制NodeManager内存使用率
- 查看NodeManager使用的堆内存是否已达到NodeManager设定的最大堆内存的95%(默认阈值)。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Yarn > 配置 > 全部配置 > NodeManager > 系统”。将“GC_OPTS”参数的值根据实际情况调大。保存配置,并重启NodeManager实例。
- NodeManager重启过程中,提交到该节点的Container可能会重试到其他节点。
- 集群中的NodeManager实例数量和NodeManager内存大小的对应关系参考如下:
- 集群中的NodeManager实例数量达到100,NodeManager实例的JVM参数建议配置为:-Xms2G -Xmx4G -XX:NewSize=512M -XX:MaxNewSize=1G
- 集群中的NodeManager实例数量达到200,NodeManager实例的JVM参数建议配置为:-Xms4G -Xmx4G -XX:NewSize=512M -XX:MaxNewSize=1G
- 集群中的NodeManager实例数量达到500以上,NodeManager实例的JVM参数建议配置为:-Xms8G -Xmx8G -XX:NewSize=1G -XX:MaxNewSize=2G
- 观察界面告警是否清除。
- 是,处理完毕。
- 否,执行6。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。