它说:
启用检查点:如果启用检查点,Flink Kafka Consumer 将在检查点完成时提交存储在检查点状态中的偏移量。这确保了 Kafka 代理中提交的偏移量与检查点状态中的偏移量一致。用户可以通过调用消费者上的 setCommitOffsetsOnCheckpoints(boolean) 方法来选择禁用或启用偏移量提交(默认情况下,该行为为 true)。请注意,在这种情况下,属性中的自动定期偏移提交设置将被完全忽略。
如果我以 10 秒的间隔启用检查点,我也会设置为 true,并在 Kafka 消费者属性中have setCommitOffsetsOnCheckpoints设置 enable.auto.commit=true和 。auto.commit.interval.ms=5000
那么偏移量提交会发生什么行为呢?偏移量会每 10 秒提交 3 次吗?一次来自 flink 执行检查点时,两次来自 Kafka 消费者的自动提交?
\n\nenable.auto.commit\xef\xbc\x9a自动偏移提交,该值的配置并不是最终的偏移提交模式,需要考虑用户是否启用了checkpoint,将在下面的源码分析中进行解读
\n
\n\nConsumer.setCommitOffsetsOnCheckpoints(true)\n\xe2\x80\x8b 解释:设置checkpoint后,提交offset,即oncheckpoint模式。默认情况下该值为 true。该参数会影响offset的提交方式。下面源码来分析一下
\n
因此,根据您所说的引用并在互联网上进一步查找,当启用检查点时,Flink消费者将忽略 auto.commit 配置,偏移量提交行为将由\n定义consumer.setCommitOffsetsOnCheckpoints(true默认情况下)
https://www.programmerought.com/article/84744879064/
\n来自 Flink 文档
\n\n\n禁用检查点:如果禁用检查点,Flink Kafka Consumer 依赖于内部使用的 Kafka 客户端的自动定期偏移提交功能。因此,要禁用或启用偏移量提交,只需在提供的 Properties 配置中将enable.auto.commit / auto.commit.interval.ms 键设置为适当的值即可。
\n
\n\n启用检查点:如果启用检查点,Flink Kafka Consumer 将在检查点完成时提交存储在检查点状态中的偏移量。这确保了 Kafka 代理中提交的偏移量与检查点状态中的偏移量一致。用户可以通过调用消费者上的 setCommitOffsetsOnCheckpoints(boolean) 方法来选择禁用或启用偏移量提交(默认情况下,该行为为 true)。请注意,在这种情况下,属性中的自动定期偏移提交设置将被完全忽略。
\n
请注意,在这种情况下,属性中的自动定期偏移提交设置将被完全忽略
\n| 归档时间: |
|
| 查看次数: |
2067 次 |
| 最近记录: |