我正在尝试使用 spring-boot 应用程序连接到 kafka 主题,但收到此错误:
org.apache.kafka.common.errors.InconsistentGroupProtocolException: The group member's supported protocols are incompatible with those of existing members or first group member tried to join with empty protocol type or empty protocol list.
当我配置我的消费者时,我提供
security.protocol = SASL_SSL
ssl.enabled.protocols = [TLSv1.2, TLSv1.3]
ssl.protocol = TLSv1.3
所以我不知道哪个协议丢失/为空。 以前有人解决过这个问题吗?
我尝试搜索该网站,但发现的问题不适合我。例如,partition.assignment.strategy 是相同的,并且默认在服务器和我的 Spring Boot 应用程序中使用。
出现这个非信息性错误的原因是,从 Debezium 发布消息的 Kafka Connect 组的名称与消费者的
group.id
相同。重命名消费者后group.id
,问题解决了。
就我而言,问题出在组平衡器协议中。
我从一个客户端库(librdkafka Go 绑定)切换到另一个客户端库(franz-go),第一个客户端库似乎默认使用“RangeBalancer”,而另一个客户端库则尝试使用“CooperativeStickyBalancer”。当我更换平衡器时,消费者终于加入了这个群体。