写点什么

flinkcdc 中 checkpoint 不成功问题排查

  • 2025-07-24
    北京
  • 本文字数:627 字

    阅读完需:约 2 分钟

本文分享自天翼云开发者社区《flinkcdc中checkpoint不成功问题排查》,作者:徐****东


使用 flink-1.16 和 flinkcdc-3.0 进行数据接入,采用 standalone 模式。运行一段时间后 checkpoint 开始失败,但日志中没有报错信息。


因 savepoint 和 checkpoint 机制一致,使用手动打 savepoint 断点的方式,尝试查明失败原因。执行指令:

/usr/local/flink/bin/flink savepoint ${job_id} /usr/local/flink-cdc/savepoint/ 


执行后报错,发现如下报错信息。


[1]:Caused by: org.apache.flink.util.SerializedThrowable: java.util.concurrent.ExecutionException: java.io.IOException: Size of the state is larger than the maximum permitted memory-backed state. Size=5325329, maxSize=5242880. Consider using a different checkpoint storage, like the FileSystemCheckpointStorage. 


经分析,是作业的 state,默认使用内存存储。随着作业的运行,state 超出允许的最大内存,所以无法存储,导致 checkpoint 被 cancel 进而失败。

 

直接原因是作业的 state,默认使用内存存储。随着作业的运行,state 超出允许的最大内存,所以无法存储,导致 checkpoint 被 cancel 进而失败。 


尝试在 flink-conf.yaml 中添加如下参数,加大内存限制。发现 checkpoint 仍会超出内存限制失败。排查源码发现,flink 在 1.16 已去掉该参数。官方建议 standalone 模式仅作为测试,因此不提供加大内存限制的方式。


state.backend.memory.max-state-size: 10000000 

正确解决办法为,使用 hdfs 存储 checkpoint。

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
flinkcdc中checkpoint不成功问题排查_大数据_天翼云开发者社区_InfoQ写作社区