卡夫卡 v0.11.0.2
Kafka 代理在 PST 时区运行了大约一个月,然后由于操作系统补丁,管理员将时区更改为 EST,重新启动后,我们看到消费者消息的重播(消费者偏移重置为 0)。我们要求管理员将时区改回 PST,他们花了 3 天时间来更改。将时区改回 PST 后,在代理重启期间,我们看到了以下日志消息(即使对于主题和 __consumer_offsets -> WARN 发现由于要求失败而损坏的索引文件:)
由于 __consumer_offsets 在 Kafka broker 由于时区更改而重新启动时损坏,它真的将消费者偏移重置为 0 吗?在这条消息之后,我们再次得到了消息的重播。
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-201/000ka,00070000ka,00070000ka.0000000ka -0.11.0.2/data/__consumer_offsets-21/00000000000000002076.txnindex 和重建索引...(kafka.log.Log)
我们如何解决消费者抵消不会回到零 (0) 的问题?
当我们重新启动我们的经纪人时,我们遇到了类似的问题。事实证明,对我们来说,这是一个systemd配置问题,它没有等待足够长的时间来正确关闭 Kafka 服务器。
我们在每个代理上有 350 GB 的数据,有 150 个主题,关闭 Kafka 服务器需要大约 8 分钟。然而,systemd 被配置为只等待 90 秒让服务器关闭,然后它的力量会杀死服务器。当服务器重新启动时,它最终会损坏索引文件,因为它没有正确关闭。修复是TimeoutStopSec=600在kafka.servicesystemd 配置中设置。
我们在博客文章中总结了问题和修复:https : //blog.experteer.engineering/kafka-corrupted-index-file-warnings-after-broker-restart.html
| 归档时间: |
|
| 查看次数: |
7874 次 |
| 最近记录: |