Zookeeper 在哪里保存 Kafka ACL 列表?

Where does Zookeeper keep Kafka ACL list?

Zookeeper(或 Kafka)在哪里保存它的 ACL 列表?

当您 运行 像 kafka-acls --authorizer-properties zookeeper.connect=localhost:2181 --list --topic test 这样的脚本时,Zookeeper(或 Kafka)从哪里获得它的列表?

我试图找到一个存储所有 ACL 的文件。

您可以使用 zookeeper-shell.sh 脚本访问 Zookeeper。 有一个名为 kafka-acl 的 znode,其中存储了有关组、主题、集群等的 ACL 的信息。 例如,您可以列出有关主题 ls /kafka-acl/Topic 的 ACL 的信息。 然后使用 get /kafka-acl/Topic/test.

获取有关特定主题的信息

额外参考:

如果您查看 Zookeeper 配置文件(zoo.cfgzookeeper.properties),您将看到 dataDir 参数,它告诉您 Zookeeper 存储数据的位置。 例如,

dataDir=/tmp/confluent.iSAdMTvO/zookeeper/data

因此,Kafka ACL 列表将存储在那里,但是为了控制它或查看它,请使用 zookeeper-shell 脚本。因为如果你打开数据来看,你就认不出来了。好奇的请往下看

由于我来到这里搜索相同的信息并最终找到了答案,所以我想添加一些额外的信息。自 Apache Kafka ver 2.0 以来,对于 patternType=PREFIXED 的主题,acls 存储在 zookeeper 节点 /kafka-acl-extended 下,这是对 /kafka-acl 节点的补充,该节点包含 [=13= 的主题详细信息]. 有关详细信息,请阅读 - KAFKA-KIP-290