事件介绍
流计算作业失败事件表示 Flink 作业由运行状态进入了失败或重启等异常状态,该现象可能引起数据处理中断、下游输出延迟等问题。
判定标准
事件的触发条件
1. 当 Flink 作业在运行期间,由于突发情况,从
RUNNING
状态变为 FAILED
、RESTARTING
等异常状态时(后续 Flink JobManager 负责自动恢复作业,耗时约 10s,恢复后运行实例 ID 不变)。2. 当 Flink 作业由于重启次数过多或过于频繁,超出 重启策略 的限制(该阈值通常由
restart-strategy.fixed-delay.attempts
参数控制,默认为5,实际生产环境下建议调大),导致 JobManager 和 TaskManager 整体退出时(后续会被系统从最近一次成功的快照点尝试恢复,耗时约2分钟,恢复后运行实例 ID 会增加1)。事件的恢复条件
当 Flink 或 Oceanus 将作业重新恢复到
RUNNING
状态时,会发送 “作业失败已恢复” 事件,代表本次告警结束。告警配置
处理建议
首先可以通过我们提供的 日志快捷诊断 功能,检索发生该事件的作业实例 ID 的异常日志。通常而言,
from RUNNING to FAILED
关键字前后的报错信息是导致作业失败的直接原因。我们建议结合 JobManager 和 TaskManager 的日志一起分析。如果上述诊断仍然未能发现问题所在,则可以通过 查看作业监控信息 来判断是否出现了资源超用等问题。重点可以关注 TaskManager 的 CPU 用量、堆内存用量、Full GC 次数和时间等指标,检查是否存在明显异常。