我一直在使用MSK Serverless/Provisioned和kafka-clients3.4.0。当我使用 * 作为主题名称时,一切都正常工作。
*arn:aws:Kafka:region:account-id:topic/cluster-name/cluster-uuid/
但是,当我指定了一个主题名称,并试图产生它:arn:aws:Kafka:region:account-id:topic/cluster-name/cluster-uuid/private-topic-1
我得到以下错误:原因:org.apache.Kafka.common.errors. ExceptionAuthorizationException:集群授权失败
因此,我决定并行使用两个终端:1:Kafka-3.0.0 2. Kafka-3.4.0
我为两个版本做了相同的配置。相同的命令(kafka-console-producer)在3.0.0版上有效,但在3.4.0版上失败(群集授权失败)。
我决定尝试多个版本,结论是,一切工作,因为它应该最多Kafka 3. 0. 1版本。生产商开始失败与3.0.1版本。
使用者在3.4.0版上使用指定的主题。所以问题出在**制造商身上。
因此,无论我选择哪个版本的Kafka(MSK),如果版本高于3.0.0,kafka-client都不能工作。有人有过类似的经历吗?如何解决这个问题?
1条答案
按热度按时间mkshixfv1#
我找到了解决办法。如果我们使用kafka-client 3.0.0以上版本和MSK Serverless/Provisioned,我们可以指定IAM auth并只允许具有特定名称的主题,但我们必须:
1.指定kafka-cluster:WriteDataIdempotently
1.在same语句块中定义cluster、topic和groups。