我有一个工作正常的 Kafka 流应用程序。但是,当我添加属性时:
properties.put(StreamsConfig.PROCESSING_GUARANTEE_CONFIG, StreamsConfig.EXACTLY_ONCE);
然后我收到以下错误:
Exception in thread "trade-state-decider-a271c9f6-d9d8-488c-b91c-57cdfaf54894-StreamThread-1" org.apache.kafka.streams.errors.StreamsException: stream-thread [trade-state-decider-a271c9f6-d9d8-488c-b91c-57cdfaf54894-StreamThread-1] Failed to rebalance.
Caused by: org.apache.kafka.common.errors.TransactionalIdAuthorizationException: Transactional Id authorization failed.
有人知道什么可以解决这个问题吗?
最佳答案
如错误所示,您的应用程序没有使用事务的权限。使用事务需要特殊权限,您可以通过 ACL 启用这些权限。
有关您需要授予哪些权限的更多详细信息,请参阅文档:https://docs.confluent.io/current/kafka/authorization.html#enabling-authorization-for-idempotent-and-transactional-apis
关于java - 当 PROCESSING_GUARANTEE_CONFIG 设置为 EXACTLY_ONCE 时,Kafka 无法重新平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59134550/