我已经成功地为Kafka经纪人设置了SASL PLAIN和PLAINTEXT安全性,从某种意义上来说,由于身份验证失败,如果不向kafka_client_jaas.conf
提供有效的用户名和密码凭据,客户端就无法成功消费或生产。
但是,我无法对Zookeeper进行相同的操作,例如,kafka_topics.sh
成功连接到Zookeeper,而没有KAFKA_OPTS
设置指向任何java.security.auth.login.config
的{{1}}文件。我以为它必须指向与控制台使用者和生产者相同的jaas.conf
,因为定义了用于对Zookeeper进行身份验证的“客户端”部分。我在kafka_client_jaas.conf
文件中添加了以下三行(我不知道第三行是什么):
zookeeper.properties
我创建了authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
requireClientAuthScheme=sasl
jaasLoginRenew=3600000
(定义“服务器”部分),并以zookeeper_jaas.conf
指向它启动了Zookeeper,并将“客户端”部分添加到KAFKA_OPTS
,以便代理正确地对Zookeeper进行身份验证,大致如上所述在这里:
Kafka SASL zookeeper authentication
但是如上所述,我在运行kafka_server_jaas.conf
时无法引发身份验证失败。我哪里出错了?