我有两个不同的应用程序,具有不同的用户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错误。
暂无答案!
目前还没有任何答案,快来回答吧!