Java Kafka-来自同一组的多个使用者分配了相同的分区
我已经在卡夫卡用户邮件列表上发布了这篇文章,但没有得到任何回复,所以我想我也会在这里尝试一下 我目前正在尝试将我的软件从0.8.2升级到使用Kafka 0.9。我正在努力 切换到新的消费者API,以便在添加或删除机器时重新平衡 来自我们的集群。我遇到了一个问题,一个主题上的同一个分区正在被删除 当一台机器添加到组中时,在短时间内分配给多个使用者。 这导致一些消息被多次处理,而我的目标是 就一次。我按照Javadocs中的设置说明使用外部数据存储 用于在消费和再平衡时保存补偿 在我的测试集群中,我最初使用两台机器和一个生产者。一切 一开始工作正常,每个使用者获得一半的分区。当我加上第三个 机器分配了一部分分区,但这些分区没有从中撤销 最初的两台机器之一。下面是我的程序中的一些日志语句,希望如此 它们有助于说明我的情况 分区14最初分配给机器1。机器1在运行之前读取了大量消息 添加机器3。分区14在启动时分配给机器3,但分区14已被删除 未从计算机1中撤销。然后,两台机器在发送前的偏移量3处读取相同的消息 系统重新平衡,两者都有权撤销对分区14的访问。然后分配机器2 从机器1撤销分区14后,仍将其分配给机器3。之后 它从机器3中被撤销,机器2是唯一可以访问分区14的机器 机器1(启动时打开) 机器2(启动时打开) 机器3(几分钟后打开) 我的集群正在运行Cloudera5.7.0,Kafka版本为2.0.1-1.2.0.1。p0.5对应 卡夫卡版本0.9.0.0+kafka2.0.1+283。() 谁能帮我解释一下我做错了什么?如果有任何进一步的信息,我可以Java Kafka-来自同一组的多个使用者分配了相同的分区,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我已经在卡夫卡用户邮件列表上发布了这篇文章,但没有得到任何回复,所以我想我也会在这里尝试一下 我目前正在尝试将我的软件从0.8.2升级到使用Kafka 0.9。我正在努力 切换到新的消费者API,以便在添加或删除机器时重新平衡 来自我们的集群。我遇到了一个问题,一个主题上的同一个分区正在被删除 当一台机器添加到组中时,在短时间内分配给多个使用者。 这导致一些消息被多次处理,而我的目标是 就一次。我按照Javadocs中的设置说明使用外部数据存储 用于在消费和再平衡时保存补偿 在我的测试集群中,我
提供帮助请让我知道,如果可以,我很乐意提供。请检查消费者的组id。如果可能,请更新消费者配置以了解更多详细信息请检查消费者的组id。如有可能,请更新消费者配置以了解更多详细信息
2016-08-24 14:17:08 DEBUG KafkaStreamReader:351 - ASSIGNED: Assigning partition 14 for topic
assignments to worker with offset 0
2016-08-24 14:18:48 DEBUG KafkaStreamReader:312 - Committing topic assignments partition 14
offset 3
2016-08-24 14:19:38 DEBUG KafkaStreamReader:200 - partition = 14, offset = 3 (Message read
from kafka)
2016-08-24 14:19:38 DEBUG KafkaStreamReader:312 - Committing topic assignments partition 14
offset 4
2016-08-24 14:19:39 DEBUG KafkaStreamReader:338 - REVOKED: Committing for partition 14 of
topic assignments offset 4
2016-08-24 14:19:51 DEBUG KafkaStreamReader:351 - ASSIGNED: Assigning partition 14 for topic
assignments to worker with offset 4
2016-08-24 14:19:21 DEBUG KafkaStreamReader:351 - ASSIGNED: Assigning partition 14 for topic
assignments to worker with offset 3
2016-08-24 14:19:48 DEBUG KafkaStreamReader:200 - partition = 14, offset = 3 (Message read
from kafka - already read by machine 1)
2016-08-24 14:20:00 DEBUG KafkaStreamReader:338 - REVOKED: Committing for partition 14 of
topic assignments offset 4