gpt4 book ai didi

apache-kafka - 如何在正在运行的集群中为 ACL 创建 Kafka 用户和消费者组?

转载 作者:行者123 更新时间:2023-12-04 14:58:25 25 4
gpt4 key购买 nike

我在 SASL_PLAINTEXT 模式下使用 Kafka 2.1,为了控制我需要创建用户和组的主题的 ACL。那么如何在运行集群中创建用户呢?

我知道我可以使用 kafka-consumer-groups.sh创建和列出组。但是当我尝试列出组时,它会抛出 Failed to find brokers to send ListGroups异常(exception)。

最佳答案

SASL PLAIN 机制的用户(及其密码)在 JAAS 配置文件中配置。假设您有多个 Kafka 节点,您应该在所有节点上保持此文件同步。可以找到如何配置它的一些示例 here in the Kafka Docs .因此,除非您为此文件有一些共享存储空间,否则您可能需要多次修改它。

您可能要考虑使用 SCRAM 而不是 PLAIN。 SCRAM 将凭据(用户名和密码的哈希值)存储在 Zookeeper 中,您只需使用 Kafka 实用程序之一即可更改它(更多详细信息再次在 Kafka docs 中)

需要明确的是,出于 ACL 的目的,消费者组与用户组无关。它们用于对消费者进行分组以在它们之间分配消息负载(通过定义为哪些消费者分配哪些分区)并存储最后使用的偏移量。我不认为 SASL PLAIN 机制对传统用户组有任何支持。我认为在大多数情况下,您并没有真正创建这些组 - 它们是在消费者开始使用它们时创建的。

消费者组与 ACL 相关的唯一方法是允许不同的用户使用消费者组。如果启用 SimpleAclAuthorizer,则可以使用 kafka-acls.sh用于管理 ACL 的实用程序。您可以授予用户的权限之一是使用消费者组使用消息的权限。有关 ACL 的更多详细信息以及如何使用 kafka-acls.sh 的示例工具在 Kafka Docs 中.

关于apache-kafka - 如何在正在运行的集群中为 ACL 创建 Kafka 用户和消费者组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53700615/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com