ALM-45656 Flink作业进程Full GC频率超过阈值
告警解释
系统以用户配置的告警周期(metrics.reporter.alarm.interval,默认值:30s)检查作业每个进程的Full GC次数,当检测到Flink作业的某个进程Full GC频率超出用户配置的阈值,产生该告警。当作业重启成功或删除作业时告警恢复。否则,该告警需要手动清除。
该告警阈值计算公式为:Full GC次数变化的增量/Full GC次数变化的时间间隔,默认值为5次/min。
- Full GC次数变化的增量:metrics.reporter.alarm.job.alarm.fullGC.count.delta,默认值:5。
- Full GC次数变化的时间间隔:metrics.reporter.alarm.job.alarm.fullGC.interval,默认值:1min,该值需要配置时间单位:s、min、h、d。
该告警只涉及Full GC次数变化的频率,不涉及单次Full GC的耗时。
- 同一作业的不同进程Full GC频率超过阈值时,都会发送告警,旧的告警会自动清除,但历史事件中有记录。
- 同一作业的同一进程若持续处于Full GC频率超过阈值状态,会连续发送告警,旧的告警会自动清除,但历史事件中有记录。
本章节仅适用于MRS 3.6.0-LTS.1及之后版本。
告警属性
| 告警ID | 告警级别 | 告警类型 | 业务类型 | 是否可自动清除 |
|---|---|---|---|---|
| 45656 | 重要 | 业务质量告警 | Flink | 否 |
告警参数
| 类别 | 参数名称 | 参数含义 |
|---|---|---|
| 定位信息 | 来源 | 产生告警的集群名称。 |
| 服务名 | 产生告警的服务名称。 | |
| 应用名 | 产生告警的应用名称。 | |
| 任务名 | 产生告警的任务名称。 | |
| 用户名 | 产生告警的用户名称。 | |
| 附加信息 | ProcessName | 产生告警的进程名称。 |
| AlarmCount | 该进程产生告警的次数。 |
对系统的影响
Flink作业进程频繁发生Full GC,表示作业存在内存管理不当或资源压力大的问题,这可能导致Flink作业性能下降,甚至出现OOM异常,需要查看Flink作业内存分配和程序设计是否合理。
此问题属于Flink作业级别的告警,对FlinkServer本身没有影响。
可能原因
- 堆内存使用率过大,或配置的堆内存不合理,导致进程Full GC频繁。
- 告警阈值配置不合理,如阈值配置低于推荐值或合理的Full GC频率。
处理步骤
调整Flink作业内存配置
- 使用具有FlinkServer管理员权限的用户登录Manager。
- 选择“运维 > 告警 > 告警 > ALM-45656 Flink作业进程的Full GC频率超过阈值”,查看并记录该告警“附加信息”中的ProcessName,确认告警来自JobManager还是TaskManager。
- 选择“集群 > 服务 > Flink”,单击“Flink WebUI”后的链接,单击“作业管理”,在作业的“操作”列单击“开发”进入作业编辑界面。
- 在作业编辑页面的“基础参数”页签,调整“JobManager内存(MB)”的值或者“taskManager”下的“内存(MB)”的值,重启作业,观察是否还会产生该告警。
- 是,执行步骤 5。
- 否,操作结束。
调整Full GC告警阈值
- 通过以下两种方式调整Full GC告警阈值。
- 通过FlinkServer提交作业,选择“集群 > 服务 > Flink > 配置 > 全部配置 > FlinkServer > 作业告警”,根据告警阈值计算公式调高Full GC告警阈值,修改完成后,单击“保存”。单击“实例”页签,同步配置并重启FlinkServer实例。
- 通过客户端提交作业,选择“集群 > 服务 > Flink > 配置 > 全部配置 > FlinkResource > 作业告警”,根据告警阈值计算公式调高Full GC告警阈值,修改完成后,单击“保存”。单击“实例”页签,同步配置并重启FlinkResource实例。更新配置到客户端。
- 重启作业,观察是否还会产生该告警。
- 是,执行步骤 7。
- 否,操作结束。
收集故障信息
- 在FusionInsight Manager界面,选择。
- 在“服务”框中勾选待操作集群的“Flink”。
- 单击右上角的
设置日志收集的“开始时间”和“结束时间”分别为告警产生时间的前后10分钟,单击“下载”。
- 查看作业告警对应进程的日志进行故障修复,或联系运维人员,并发送已收集的故障日志信息。操作结束。
告警清除
Flink作业重新启动成功或删除作业,则告警恢复。否则,系统不会自动清除此告警,需手工清除。
参考信息
不涉及。