tencent cloud

流计算 Oceanus

动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
计费模式
退费说明
调整配置费用说明
快速入门
从零开始上手
创建独享集群
创建 SQL 作业
创建 JAR 作业
创建 ETL 作业
创建 Python 作业
操作指南
作业管理
作业开发
作业监控
作业日志
事件与诊断
元数据管理
快照管理
作业调优
依赖管理
集群管理
权限管理
SQL 开发指南
开发指南概述
术语和数据类型
DDL 数据定义语句
DML 数据操作语句
MySQL CDC 多 Source 复用
上下游开发指南
SET 控制语句
运算符和内置函数
标识符与保留字
Python 开发指南
ETL 开发指南
概述
ETL 作业术语表
上下游开发指南
常见问题
联系我们

JobManager Full GC 过久事件

PDF
聚焦模式
字号
最后更新时间: 2023-11-07 15:44:22

事件介绍

Flink 作业的 JobManager 负责整个作业的管理和调度工作,它是一个 JVM 进程,有着自己的堆内存空间。对于使用 FLIP-27 接口的数据源(Source)Connector,其 Enumerator 会把各类分片信息会记录到堆内存中。如果分片过多,就可能造成堆内存用量过高,影响整个作业的稳定性。
当 JVM 的堆内存空间即将耗尽时,会通过 Full GC(内存回收机制)来释放空间。如果每次的回收量很小,难以及时释放堆内存空间时,JVM 会频繁而持续地触发 Full GC,该操作会占用大量的 CPU 时间,造成作业的执行线程无法正常工作,此时会触发本事件。
说明
该功能目前为 Beta 版,暂不支持规则的自定义,后续该能力会陆续上线。

判定标准

系统每5分钟会检测一次 Flink 作业的 JobManager 的 Full GC 耗时。
当发现 JobManager 的 Full GC 耗时增量占整个检测周期的30%以上(即5分钟内 Full GC 耗时超过1.5分钟)时,表明作业出现了严重的 Full GC 问题,会触发该事件。
注意
为了避免频繁告警,每个作业的每个运行实例 ID 每小时最多触发一次该事件的推送。

告警配置

用户可以对该事件 配置作业监控告警(异常事件),并实时接收触发和恢复的告警通知。

处理建议

收到该事件推送后,我们建议增加作业的 资源配置,例如调大 JobManager 的规格(提升 JobManager 堆内存的最大可用空间,可以容纳更多的状态数据)。
此外,如果您使用的是 MySQL CDC 数据源,则建议您在 WITH 参数中,增加单个分片的大小,即调大 scan.incremental.snapshot.chunk.size 参数,以避免分片数过多导致 JobManager 堆内存用尽。
如果作业日志中没有找到 OutOfMemoryError: Java heap space 等关键字,且目前作业暂时正常运行,我们建议对该作业 配置告警,将流计算作业失败事件加入告警规则,以第一时间获取作业崩溃的事件推送。
如果以上方法均未能解决问题,可以通过 工单 等方式联系我们的技术人员以协助定位。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈