ALM-18017 NodeManager非堆内存使用率超过阈值
告警解释
系统每30秒周期性检测Yarn NodeManager非堆内存使用率,并把实际的Yarn NodeManager非堆内存使用率和阈值相比较。当Yarn NodeManager非堆内存使用率超出阈值(默认为最大非堆内存的90%)时产生该告警。
用户可通过“运维 > 告警 > 阈值设置 > 待操作集群的名称 > Yarn”修改阈值。
当Yarn NodeManager非堆内存使用率小于或等于阈值时,告警恢复。
告警属性
告警ID |
告警级别 |
是否自动清除 |
---|---|---|
18017 |
重要 |
是 |
告警参数
参数名称 |
参数含义 |
---|---|
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
角色名 |
产生告警的角色名称。 |
主机名 |
产生告警的主机名。 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
Yarn NodeManager非堆内存使用率过高,会影响Yarn任务提交和运行的性能,甚至造成内存溢出导致Yarn服务不可用。
可能原因
该节点Yarn NodeManager实例非堆内存使用量过大,或分配的非堆内存不合理,导致使用量超过阈值。
处理步骤
检查非堆内存使用量。
- 在FusionInsight Manager界面,选择“运维 > 告警 > 告警 > ALM-18017 Yarn NodeManager非堆内存使用率超过阈值 > 定位信息”。查看告警上报的实例的主机名。
- 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务 > Yarn > 实例 > NodeManager(对应上报告警实例主机名)”,单击图表区域右上角的下拉菜单,选择“定制 > 资源”,勾选“NodeManager内存使用率”。查看非堆内存使用情况。
图1 定制NodeManager内存使用率
- 查看NodeManager使用的非堆内存是否已达到NodeManager设定的最大非堆内存的90%。
- 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务 > Yarn > 配置 > 全部配置 > NodeManager > 系统”。对NodeManager的内存参数“GC_OPTS”进行调整,并单击“保存”,在弹出的对话框中单击“确定”并重启角色实例。
- 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。
收集故障信息。
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
无。