我已成功为 Kafka 代理设置了 SASL PLAIN 和 PLAINTEXT 安全性,因为由于身份验证失败,客户端无法使用有效的用户名和密码凭据提供kafka_client_jaas.conf
而无法成功使用或生成。
但是,我不能对 Zookeeper 做同样的事情,所以例如kafka_topics.sh
成功连接到 Zookeeper,没有KAFKA_OPTS
设置java.security.auth.login.config
指向任何jaas.conf
文件。我想它必须指向与控制台消费者和生产者相同的kafka_client_jaas.conf
,因为有一个客户端部分被定义用于 Zookeeper 的身份验证。我在zookeeper.properties
文件中添加了以下三行(我不知道第三行是用于什么):
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
我创建了zookeeper_jaas.conf
(定义了 Server 部分)并启动了 Zookeeper,指向它的KAFKA_OPTS
,并将 Client 部分添加到kafka_server_jaas.conf
,以便代理正确地对 Zookeeper 进行身份验证,就像这里描述的那样:
但是如前所述,在运行kafka_topics.sh
时我无法激发身份验证失败。我哪里做错了?