Потоки Kafka весной, проблема с ровно одним списком ACL: TransactionalIdAuthorizationException - PullRequest
0 голосов
/ 17 марта 2020

У меня проблемы с подключением к topi c в облаке Confluent из приложения Springboot kafka-streams, соединение обрывается с одной строкой ошибки org.apache.kafka.common.errors.TransactionalIdAuthorizationException: Transactional Id authorization failed.

Я полагаю, что это потому, что topi c настроен для разрешения транзакций с указанным транзакционным идентификатором (https://docs.confluent.io/current/kafka/authorization.html#enabling -authorization-for-idempotent-and-Transactionsal-apis ). Мой сервис, являющийся потоковым приложением, генерирует идентификатор транзакции в каждом StreamThread (метод создания источника в https://github.com/apache/kafka/blob/2.4.1/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamThread.java), который определен как applicationId + "-" + taskId, и он не совпадает с определенным в topi c ACL.

Это правильно, и если да, то есть ли обходной путь?

1 Ответ

1 голос
/ 22 марта 2020

Вам нужно будет использовать подстановочные ACL, указав только префикс ie, <application.id>- для соответствующего ACL, используя --resource-pattern-type prefixed

Cf. https://docs.confluent.io/current/streams/developer-guide/security.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...