记录flink读取kafka数据时checkpoint配置对offset提交的影响

一、问题描述

flink消费kafka 数据过程中,结果数据正常输出,但是kafka产生数据堆积
在这里插入图片描述

二、原因分析

flink 任务运行中,checkpoint 失败导致offset 一直未提交,导致kafka 数据堆积告警

三、优化设置

1.查看日志,分析checkpoint 失败原因,考虑资源及代码逻辑优化,或者checkpoint 配置优化,常见的checkpoint 配置

//	    每10s 开始一次checkpoint
       senv.getCheckpointConfig().setCheckpointInterval(10000L);
//      设置模式为最少一次
        senv.getCheckpointConfig().setCheckpointingMode(CheckpointingMode.AT_LEAST_ONCE);

//      确认 checkpoints 之间的时间会进行 1 分钟
        senv.getCheckpointConfig().setMinPauseBetweenCheckpoints(10000L);

//      设置检查点被丢弃所花费的最大时间  5分钟
        senv.getCheckpointConfig().setCheckpointTimeout(300000L);
//      允许Checkpoint连续失败次数  10次
        senv.getCheckpointConfig().setTolerableCheckpointFailureNumber(10);
//       同一时间只允许一个 checkpoint 进行
        senv.getCheckpointConfig().setMaxConcurrentCheckpoints(1);

2.(粗暴做法,不推荐)由于checkpoint 经常失败影响任务运行,因此关闭checkpoint,关闭checkpoint后,需配置kafka 消费者自动提交offset

//      设置提交方式为自动提交
 properties.setProperty(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,"true");
      
//      设置提交间隔为1000ms  
 properties.setProperty(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG,"1000");

官网描述:
在这里插入图片描述

禁用checkpoint后,任务会默认使用savepoint,这个时候任务自动重启功能会失效,为避免savepoint失败导致任务失败的情况,建议配置
checkpoint失败间隔次数senv.getCheckpointConfig().setTolerableCheckpointFailureNumber(10)

问题圆满解决
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值