开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

请问下当flink集群重启之后 kafka消息还是重复 有什么办法解决吗 kafka sink 已设

请问下当flink集群重启之后 kafka消息还是重复 有什么办法解决吗 kafka sink 已设置 'sink.semantic' = 'exactly-once',

展开
收起
雪哥哥 2022-11-05 21:46:34 1094 0
4 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    offset提交策略修改一下就可以了,单独设置 'sink.semantic' = 'exactly-once'应该不够的。

    2023-01-30 17:58:57
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,根据你的问题描述,你可以重启任务,然后追踪一下重新开启之后是否正常,然后再排除一下提交策略。

    2023-01-30 14:07:36
    赞同 展开评论 打赏
  • 任务重启重复消费一段Kafka消息是正常的,只有这样才能保证Exactly Once语义。Flink会将Kafka位点与状态对应起来,因此即使重复消费,也会保证落库数据的准确性

    2023-01-30 11:56:29
    赞同 展开评论 打赏
  • 可以尝试设置Kafka的offset提交策略,比如设置为“每次提交”,这样每次消费完消息之后就会提交offset,重启之后就不会重复消费消息了。

    2023-01-17 16:27:04
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
    MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
    消息队列kafka介绍 立即下载