我在 SASL_PLAINTEXT 模式下使用 Kafka 2.1,并且为了控制我需要创建用户和组的主题的 ACL。那么如何在运行集群中创建用户呢?
我知道我可以kafka-consumer-groups.sh用来创建和列出组。但是当我尝试列出组时,它会引发Failed to find brokers to send ListGroups异常。
SASL PLAIN 机制的用户(及其密码)在 JAAS 配置文件中配置。假设您有多个 Kafka 节点,您应该在所有节点上保持此文件同步。可以在 Kafka Docs 中找到有关如何配置它的一些示例。因此,除非您为此文件有一些共享存储空间,否则您可能需要多次修改它。
您可能需要考虑使用 SCRAM 而不是 PLAIN。SCRAM 将凭据(用户名和密码的哈希值)存储在 Zookeeper 中,您只需使用 Kafka 实用程序之一更改它(更多详细信息再次在Kafka 文档中)
需要明确的是,出于 ACL 的目的,消费者组与用户组无关。它们用于对消费者进行分组以在它们之间分配消息负载(通过定义为哪些消费者分配哪些分区)并存储最后使用的偏移量。我不认为 SASL PLAIN 机制对传统用户组有任何支持。我认为在大多数情况下,您并没有真正创建这些组 - 它们是在消费者开始使用它们时创建的。
消费者组与 ACL 相关的唯一方法是允许不同的用户使用消费者组。如果启用 SimpleAclAuthorizer,则可以使用该kafka-acls.sh实用程序来管理 ACL。您可以授予用户的权限之一是使用消费者组使用消息的权限。有关 ACL 的更多详细信息以及如何使用该kafka-acls.sh工具的示例,请参见Kafka Docs。
| 归档时间: |
|
| 查看次数: |
3687 次 |
| 最近记录: |