FlinkKafkaConsumer offset 是如何提交的?

FlinkKafkaConsumer offset 是如何提交的?

展开
收起
一人吃饱,全家不饿 2021-01-06 12:08:21 2677 分享 版权
1 条回答
写回答
取消 提交回答
  • Flink kafka consumer commit offset 方式需要区分是否开启了 checkpoint。 1. 如果 checkpoint 关闭,commit offset 要依赖于 kafka 客户端的 auto commit。 需设置 enable.auto.commit,auto.commit.interval.ms 参数到 consumerproperties,就会按固定的时间间隔定期 auto commit offset 到 kafka。 2. 如果开启 checkpoint,这个时候作业消费的 offset 是 Flink 在 state 中自己管理和容错。此时提交 offset 到 kafka,一般都是作为外部进度的监控,想实时知道作业消费的位置和 lag 情况。此时需要 setCommitOffsetsOnCheckpoints 为 true 来设置当 checkpoint 成功时提交 offset 到 kafka。此时 commit offset 的间隔就取决于 checkpoint 的间隔,所以此时从 kafka 一侧看到的 lag 可能并非完全实时,如果 checkpoint 间隔比较长 lag 曲线可能会是一个锯齿状。

    2021-01-06 12:08:28
    赞同 1 展开评论

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

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理