我的 Kafka 0.11.0.0 有问题
当我创建新主题时,将数据放入其中并使用 java 消费者使用它,重新启动 Kafka 0.11.0.0 后,我的消费者组的偏移量消失。主题保持不变,其中包含相同的数据,只有偏移量被清除。这使得消费者再次下载主题中的所有记录。奇怪的是,只有一个主题具有旧的、正确的偏移量,所有其他偏移量都被删除,可能是因为该主题已经存在了一段时间。
我使用 commitSync() 提交所有已使用的记录。然后偏移量保存在我的代理上,我可以重新启动我的 java 消费者,它从正确的偏移量开始,但在重新启动整个 Kafka 后,消费者组的偏移量重置为 0。使用 kafka-consumer-groups.sh 重新启动后,我在消费之前检查当前提交脚本,并且肯定是代理重置了它们。
我在 Kafka 0.10.2.1 中没有遇到任何问题。我仅在 0.11.0.0 版本中遇到此问题。
我的消费者将 auto.offset.reset 设置为最早,自动提交设置为 false,因为我正在手动提交。 Kafka数据存储在具有必要权限的非tmp目录中。代理配置的其余部分是默认的。
我需要 0.11.0.0 版本进行交易。我不知道问题出在哪里。造成这种情况的原因是什么?我是否在某处遗漏了新的配置参数?
@编辑
保留的主题也存在偏移量问题,但是它并没有被完全清除,但重新启动后的偏移量不正确,并且每次重新启动后消费者都会获取大约 15% 的数据。
@编辑2
有时但并非总是我的 server.log 充满了:
WARN Received a PartitionLeaderEpoch assignment for an epoch < latestEpoch. This implies messages have arrived out of order. New: {epoch:4, offset:1669}, Current: {epoch:5, offset1540} for Partition: __consumer_offsets-26 (kafka.server.epoch.LeaderEpochFileCache)
由于另一个日志,它似乎已连接到我的消费者组:
[2017-08-22 08:59:30,719] INFO [GroupCoordinator 0]: Preparing to rebalance group scrapperBackup with old generation 119 (__consumer_offsets-26) (kafka.coordinator.group.GroupCoordinator)
[2017-08-22 08:59:30,720] INFO [GroupCoordinator 0]: Group scrapperBackup with generation 120 is now empty (__consumer_offsets-26) (kafka.coordinator.group.GroupCoordinator)
重启时总会出现这样的日志:
[2017-08-22 09:15:37,948] INFO Partition [__consumer_offsets,26] on broker 0: __consumer_offsets-26 starts at Leader Epoch 6 from offset 1699. Previous Leader Epoch was: 5 (kafka.cluster.Partition)
@编辑3
为 Kafka/Zookeeper 数据创建新目录并从头开始创建所有内容都有帮助。我不知道出了什么问题,但现在可以正常工作了。应用程序的数据目录中似乎发生了一些错误。