Flink 1.12配置Prometheus PushGatewayReporter后出现OOM问题咨询
Flink 1.12集成Prometheus PushGateway OOM原因说明
deleteOnShutdown生效范围有限
你配置的deleteOnShutdown=true仅在Flink作业正常触发关闭流程时生效,若作业出现被资源管理组件强制Kill、进程异常崩溃、集群节点宕机等异常终止场景,Flink无法向PushGateway发送指标删除请求,对应作业的全量指标会永久驻留在PushGateway内存中,随异常作业数量累积最终触发OOM。- 高基数时间序列内存占用超限
若你的Flink作业上报指标包含高基数标签(例如自定义标签传入动态生成的用户ID、请求ID、订单ID等枚举值极多的字段),或作业并行度高、算子数量多,会生成远超预期的时间序列。PushGateway会将所有时间序列的全量数据保存在内存中,当时间序列量级超过内存承载上限时会直接触发OOM,Flink 1.12版本默认上报的细粒度算子、任务指标会进一步放大该问题。 - 原生PushGateway无自动过期清理机制
官方原生PushGateway默认不提供指标自动过期能力,所有未收到显式删除请求的指标都会永久留存内存,哪怕对应作业已经停止运行。即使你大部分作业可以正常关闭清理指标,只要存在少量异常终止的作业漏删指标,长期运行后内存占用会持续上涨直至溢出。 - 指标上报配置不合理
若你将指标上报间隔配置过短(如低于10秒),或是额外开启了大量冗余的细粒度指标上报(如State单key访问指标、Netty网络层明细指标等),会导致PushGateway单位时间内接收的指标样本量过大,内存回收速度跟不上分配速度,也会引发OOM。
内容的提问来源于stack exchange,提问作者Yasu Chalamet
相关产品推荐
相关产品推荐

