Kafka Stream在重新平衡时重新处理旧消息

时间:2017-09-13 05:38:51

标签: apache-kafka kafka-consumer-api kafka-producer-api apache-kafka-streams

我有一个Kafka Streams应用程序,它从几个主题中读取数据,加入数据并将其写入另一个主题。

这是我的Kafka群集的配置:

5 Kafka brokers
Kafka topics - 15 partitions and replication factor 3. 

我的Kafka Streams应用程序与我的Kafka代理运行在同一台机器上。

每小时消耗/生产几百万条记录。每当我关闭代理时,应用程序就会进入重新平衡状态,经过多次重新平衡后,它会开始消耗非常旧的消息。

注意:当Kafka Streams应用程序运行良好时,其消费者滞后几乎为0.但在重新平衡后,其滞后时间从0到1000万。

这可能是因为 offset.retention.minutes

这是我的Kafka经纪人的日志和偏移保留政策配置:

log retention policy : 3 days
offset.retention.minutes : 1 day

在下面的链接中,我读到这可能是原因:

Offset Retention Minutes reference

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)