我很新的kafka(也英语......),我面临这个问题,并不能谷歌任何解决方案。kafka停止消费从新分配后的新分配的分区
我我的本地机器上使用弹簧启动,弹簧卡夫卡的支持,我已经安装了kafka_2.11-0.10.1.1(只有一个经纪人0)
s1.then我通过
制造话题bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic tracking
我的消费配置: applitions.properties:
kafka.servers.bootstrap=localhost:9092
kafka.topic.tracking=tracking
kafka.group.id=trackingGroup
kafka.client.id=client-1
S2。然后,我通过更改'kafka.client.id'启动3位用户并运行spring-boot main class。在eclipse控制台上,我可以检查分区分配:
client-1: partitions assigned:[tracking-4, tracking-3]
client-2: partitions assigned:[tracking-2, tracking-1]
client-3: partitions assigned:[tracking-0]
s3。启动pruducer向主题发送20条消息,每个消息开始消费特定分区
s4。我关闭消耗1,卡夫卡自动进行再平衡, 新的分区分配:
client-1: partitions assigned:[]
client-2: partitions assigned:[tracking-2,tracking-1, tracking-0]
client-3: partitions assigned:[tracking-4,tracking-3]
S5。我发现分区'tracking-3'上的消息没有消耗!
问题可以每次重现,在新分配的分区丢失一些消息损失,你可以任何suggesstions?请帮助我,谢谢
我不知道你关闭客户端1点什么。 client-1在关闭之前可能已经消耗了跟踪-3的所有消息。关闭客户端1后,您是否尝试向主题发送更多消息? – yaswanth
我按ctrl + c关闭客户端-1,客户端-1没有消耗跟踪-3中的所有消息,我尝试了多次消息。但仍然丢失消息 –