Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 卡夫卡0.11.0.0在重新启动时保持重置偏移量_Java_Apache Kafka - Fatal编程技术网

Java 卡夫卡0.11.0.0在重新启动时保持重置偏移量

Java 卡夫卡0.11.0.0在重新启动时保持重置偏移量,java,apache-kafka,Java,Apache Kafka,我对卡夫卡0.11.0.0有意见 当我创建新主题时,在重新启动Kafka 0.11.0.0后,将数据放入其中,并使用java使用者来使用它。主题保持不变,并且其中包含相同的数据,只有偏移量被清除。这使得消费者可以再次从主题下载所有记录。奇怪的是,只有一个主题有其旧的、正确的偏移量,所有其他偏移量都被删除,可能是因为一个主题存在了一段时间 我使用commitSync()提交所有已使用的记录。然后将偏移量保存在我的代理上,我可以重新启动java消费者,它从正确的偏移量开始,但在重新启动整个Kafka

我对卡夫卡0.11.0.0有意见

当我创建新主题时,在重新启动Kafka 0.11.0.0后,将数据放入其中,并使用java使用者来使用它。主题保持不变,并且其中包含相同的数据,只有偏移量被清除。这使得消费者可以再次从主题下载所有记录。奇怪的是,只有一个主题有其旧的、正确的偏移量,所有其他偏移量都被删除,可能是因为一个主题存在了一段时间

我使用commitSync()提交所有已使用的记录。然后将偏移量保存在我的代理上,我可以重新启动java消费者,它从正确的偏移量开始,但在重新启动整个Kafka之后,消费者组的偏移量重置为0。我使用kafka-consumer-groups.sh脚本在重新启动后使用之前检查当前提交,并且肯定是代理重置了它们

我在卡夫卡0.10.2.1中对此没有问题。我仅在0.11.0.0版本中遇到此问题

我的使用者将auto.offset.reset设置为最早,自动提交设置为false,因为我正在手动提交。卡夫卡数据存储在具有必要权限的非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 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数据创建新目录并从头开始创建一切都很有帮助。我不知道是什么问题,但它现在正常工作了。应用程序的数据目录中似乎出现了一些错误。

如果遇到此问题,请下载新版本的Kafka 0.11.0.1。此问题在该版本中已修复


这就解释了这个错误:

您可以显示您的消费者代码吗?你认为当偏移量提交时,卡夫卡会重新启动吗?谢谢回复!不幸的是,我无法显示代码,但每次提交都记录在文件中,我可以在那里以及卡夫卡上看到提交。在关闭消费者后,我重新启动了卡夫卡。无论如何,请检查edit3。不要在问题中编辑解决方案并在标题中添加
(已解决)
,而应添加解决问题的方式作为答案。谢谢,我仍然是新手,我使用的是0.11.0.2,在重新启动后问题也出现了。我刚刚发现升级到更新版本(1.1.0)后会出现这种行为,所以我想卡夫卡仍然会受到重新启动后无法从特定检查点恢复的影响。
[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)