Kafka在春季流式传输,仅对一次ACL造成麻烦:TransactionalIdAuthorizationException

问题描述 投票:0回答:1

我无法从springboot kafka-streams应用程序连接到Confluent云上的主题,连接失败并显示一条错误线org.apache.kafka.common.errors.TransactionalIdAuthorizationException: Transactional Id authorization failed.

我相信这是因为该主题已配置为允许使用指定的事务ID(https://docs.confluent.io/current/kafka/authorization.html#enabling-authorization-for-idempotent-and-transactional-apis)进行交易。我的服务是流应用程序,它在每个StreamThread(在https://github.com/apache/kafka/blob/2.4.1/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamThread.java中创建生产者方法)中生成一个事务ID,该事务ID定义为applicationId + "-" + taskId,这与在主题ACL上定义的ID不匹配。

这是正确的吗?如果可以,是否有解决方法?

apache-kafka apache-kafka-streams confluent-platform
1个回答
0
投票

您只需要使用<application.id>-指定前缀即可使用通配ACL,即,将相应的ACL指定为--resource-pattern-type prefixed

© www.soinside.com 2019 - 2024. All rights reserved.