在kafka使用者中使用assign代替subscribe

gt0wga4j  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(430)

我有两个不同的应用程序,具有不同的用户id和组id,如下所示。

Application 1 : 
Consumer id = consumer-1
Consumer group id = consumer-group-1

Application 2 : 
Consumer id = consumer-2
Consumer group id = consumer-group-2

consumer-1和consumer-2都被手动分配到相同的主题分区(假设topic name=test&partition id=0),并且独立地使用消息。现在我的问题是,既然 assign() 将失去对动态分区分配和消费者组协调的控制,Kafka如何存储/识别消费者-1和消费者-2的最后提交的偏移量。有时我看到提交失败消息如下。

{"severity":4,"fac":"COMMITFAIL","message":"[thrd:main]: Offset commit (cgrp auto commit timer) failed for 0/1 partition(s): test[0]@8747(Broker: Unknown member)"}

这是因为我使用两个不同的使用者(在两个不同的应用程序中)手动分配给同一个主题和分区id吗?是否允许使用手动分配给同一主题和分区的两个使用者?
我还怀疑我的消费者的最大轮询/会话超时间隔是否太小。但是对于测试,我注解了我所有的处理逻辑,这样我就可以使用并编写一个日志,但是我仍然看到上面的commit fail错误。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题