如何在启用 SASL 的 Zookeeper 上创建 Kafka 主题?

How to create a Kafka topics on a SASL enabled Zookeeper?

我们有一个 kafka 集群,正在根据这些标准锁定特定节点:https://docs.hortonworks.com/HDPDocuments/HDP3/HDP-3.1.0/zookeeper-acls/content/zookeeper_acls_best_practices_kafka.html

一旦我们用 SASL:kafka:cdrwa 锁定了 /broker/topics 节点,我们就无法使用 kafka-topics.sh 工具来创建主题。我们尝试在代理上使用这些工具,它在 jaas 文件中有正确的 KafkaClient,但看起来 zookeeper 将 cmd 工具视为一个单独的客户端。在锁定 /kafka-acls 并使用 kafka-acls.sh 工具时,我们遇到了同样的事情。

我们如何在命令行工具中传递我们的 jaas 文件?

更新 以下是 jaas 文件的内容(已删除密码)。工具和代理都存在于同一台机器上。经纪人在使用 zookeeper 进行身份验证时没有问题。

KafkaServer {
org.apache.kafka.common.security.scram.ScramLoginModule required
   username="admin"
   password="---";
};

KafkaClient {
  org.apache.kafka.common.security.scram.ScramLoginModule required
  username="controlcenter"
  password="---";
};

Client {
  org.apache.zookeeper.server.auth.DigestLoginModule required
  username="admin"
  password="---";
};

简单的环境设置不行吗?

$ export KAFKA_OPTS="-Djava.security.auth.login.config=<your_jaas.conf>"
$ kafka-topics --create ...