gpt4 book ai didi

apache-kafka - Kafka Consumer 收到的旧消息很少(不是全部)(之前已经处理过)

转载 作者:行者123 更新时间:2023-12-05 06:32:59 30 4
gpt4 key购买 nike

我们将保留设置为 7 天(168 小时)的主题。消息在生产者发送消息时实时使用。一切都按预期工作。但是最近在生产服务器上,作为操作系统补丁的一部分,DevOps 意外地将时区从 PST 更改为 EST。

Kafka 服务器重启后,我们看到消费者消费的旧消息很少(不是全部,而是随机的)。我们要求 Devops 将其改回 PST 并重新启动。旧消息也在本周末再次出现。

我们还没有在较低的环境(Dev、QA、Stage 等)中看到这个问题。

卡夫卡版本:kafka_2.12-0.11.0.2

非常感谢任何帮助。

添加更多信息...最近我们的 CentOS 有一个补丁更新,不知何故,管理员从 PST 时区更改为 EST 并启动了 Kafka 服务器...之后我们的消费者开始看到来自偏移量 0 的消息。调试后,我发现时区更改,管理员在 4 天后从 EST 改回 PST。我们的消息生产者定期在时区更改前后发送消息。时区从 EST 更改回 PST 后,Kafka 服务器重新启动,我看到以下警告。

这个日志发生在我们从 EST 变回 PST 时:(server.log)[2018-06-13 18:36:34,430] WARN 由于要求失败而发现损坏的索引文件:找到损坏的索引,索引文件 (/app/kafka_2.12-0.11.0.2/data/__consumer_offsets-21/00000000000000002076.index ) 具有非零大小,但最后一个偏移量为 2076,不大于基本偏移量 2076.}。删除/app/kafka_2.12-0.11.0.2/data/__consumer_offsets-21/00000000000000002076.timeindex、/app/kafka_2.12-0.11.0.2/data/__consumer_offsets-21/00000000000000002076.index和/app/kafka_2. -0.11.0.2/data/__consumer_offsets-21/00000000000000002076.txnindex 和重建索引... (kafka.log.Log)

我们在时区从 EST 更改回 PST 的 3 天后重新启动了消费者,并再次开始看到偏移量为 0 的消费者消息。

最佳答案

基于 Kafka v2.3.0你可以设置

    "enable.auto.commit" : "true",// default is true as well
"auto.commit.interval.ms" : "1000"

这意味着每过 1 秒,Consumer 就会将其 Offset 提交给 Kafka,或者每次从指定的 Topic 获取数据时,它都会提交最新的 Offset。

因此,一旦您的 Kafka 消费者启动并经过 1 秒,它就永远不会读取消费者接收提交的消息。此设置不需要重启 Kafka Server。

关于apache-kafka - Kafka Consumer 收到的旧消息很少(不是全部)(之前已经处理过),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51012225/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com