更新时间:2024-11-29 GMT+08:00
ALM-43008 JobHistory进程直接内存使用超出阈值
告警解释
系统每30秒周期性检测JobHistory进程直接内存使用状态,当检测到JobHistory进程直接内存使用率大于最大内存的95%时产生严重告警,大于最大内存的85%,小于最大内存的95%时产生次要告警。
告警属性
告警ID |
告警级别 |
告警类型 |
业务类型 |
是否可自动清除 |
---|---|---|---|---|
43008 |
重要(默认阈值为最大内存的95%) 次要(默认阈值为最大内存的85%) |
业务质量告警 |
Spark |
是 |
告警参数
类别 |
参数名称 |
参数含义 |
---|---|---|
定位信息 |
来源 |
产生告警的集群名称。 |
服务名 |
产生告警的服务名称。 |
|
角色名 |
产生告警的角色名称。 |
|
主机名 |
产生告警的主机名。 |
|
附加信息 |
Trigger Condition |
系统当前指标取值满足自定义的告警设置条件。 |
对系统的影响
JobHistory进程直接内存使用率过高,会影响JobHistory进程运行的性能,甚至造成内存溢出导致JobHistory进程不可用, 进程不可用时仅会造成无法查询Spark任务历史执行记录。
可能原因
该节点JobHistory进程直接内存使用率过大,或配置的直接内存不合理,导致使用率超过阈值。
处理步骤
检查直接内存使用率
- 在FusionInsight Manager首页,选择“运维 > 告警 > 告警”,选中“ID”为“43008”的告警,查看“定位信息”中的角色名以及确认主机名所在的IP地址。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Spark > 实例”,单击告警上报的JobHistory,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > JobHistory内存使用率统计”,单击“确定”,查看JobHistory进程使用的直接内存是否已达到JobHistory进程设定的最大直接内存的阈值(默认95%)。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Spark > 实例”,单击告警上报的JobHistory,进入实例“概览”页面,单击图表区域右上角的下拉菜单,选择“定制 > JobHistory直接内存”,单击“确定”,根据告警产生时间,查看对应时间段的“JobHistory进程使用的直接内存”的值,获取最大值。
- 在FusionInsight Manager首页,选择“集群 > 待操作集群的名称 > 服务 > Spark > 配置”,单击“全部配置”,选择“JobHistory > 默认”,“SPARK_DAEMON_JAVA_OPTS”参数中“-XX:MaxDirectMemorySize”的默认值为512M,可根据如下原则调整: 告警时间段内JobHistory使用直接内存的最大值和“JobHistory直接内存使用率统计 (JobHistory)”阈值的比值。若参数值调整后,仍偶现告警,可以按0.5倍速率调大。若频繁出现告警,可以按1倍速率调大,建议不要超过参数SPARK_DAEMON_MEMORY的值。
在FusionInsight Manager首页,选择“运维 > 告警 > 阈值设置 > 待操作集群名称 > Spark > 内存 > JobHistory直接内存使用率统计 (JobHistory)”,可查看“阈值”。
- 重启所有的JobHistory实例。
- 等待10分钟,观察界面告警是否清除。
- 是,处理完毕。
- 否,执行7。
收集故障信息
告警清除
此告警修复后,系统会自动清除此告警,无需手工清除。
参考信息
不涉及。
父主题: 告警参考