Kafkav0.11.0.2
kafka broker在pst时区运行了大约一个月,然后由于操作系统补丁,管理员将时区更改为est,重新启动后,我们看到消费者消息的重播(消费者偏移量重置为0)。我们要求管理员将时区改回pst,他们花了3天时间才更改。将时区改回pst后,在代理重新启动期间,我们看到了下面的日志消息(甚至对于主题和消费者偏移量->警告发现由于请求失败而损坏的索引文件:)
由于kafka代理由于时区更改而重新启动时,\消费者\偏移量损坏,因此它是否真的将消费者偏移量重置为0?在这条消息之后,我们又收到了消息的重播。
警告:由于要求失败,发现损坏的索引文件:发现损坏的索引,索引文件(/app/kafka\u 2.12-0.11.0.2/data/\u consumer\u offsets-21/00000000000000002076.index)大小非零,但最后一个偏移量是2076,不大于基偏移量2076。}。正在删除/app/kafka\u 2.12-0.11.0.2/data/\u consumer\u offsets-21/00000000000000002076.timeindex、/app/kafka\u 2.12-0.11.0.2/data/\u consumer\u offsets-21/00000000000000002076.index和/app/kafka\u 2.12-0.11.0.2/data/\u consumer\u offsets-21/00000000000000002076.txn索引和重建索引(Kafka.log.log)
我们如何解决消费者抵消不回零(0)?
3条答案
按热度按时间ar7v8xwq1#
删除索引文件。
此问题基于索引与日志文件不匹配。这个问题存在很长时间了,恢复的方法是删除索引文件,它会重新创建。
qzlgjiam2#
我遇到这个问题,只需删除索引文件并启动kafka:
问题解决。支付attention:this method 会丢失您当前的消息。
hmtdttj43#
我们在重启经纪业务时也遇到了类似的问题。原来,对我们来说,这是一个问题
systemd
等待时间不足以正确关闭kafka服务器的配置。我们在每个代理上有350gb的数据,有150个主题,关闭kafka服务器需要大约8分钟。但是,systemd被配置为只等待90秒服务器关闭,然后其强制终止服务器。当服务器重新启动时,它的索引文件将被破坏,因为它没有正确关闭。解决办法是
TimeoutStopSec=600
在kafka.service
系统配置。我们在一篇博文中总结了问题和解决方法:https://blog.experteer.engineering/kafka-corrupted-index-file-warnings-after-broker-restart.html