我们希望通过使用sasl向kafka集群添加身份验证。正如我们看到的,我们希望能够经常添加用户,我们正在寻找一种方法来做到这一点,而不必执行滚动重新启动。
我们的尝试:
使用动态代理配置接口,重新配置 listener.name.sasl_plaintext.plain.sasl.jaas.config
所有经纪人。
Kafka经纪人发现了Zookeeper的变化 [2019-01-11 11:08:23,403] INFO Processing override for entityPath: brokers/1 with config: Map(listener.name.sasl_plaintext.plain.sasl.jaas.config -> encryptedPassword:XXX,keyLength:128,cipherAlgorithm:AES/CBC/PKCS5Padding,initializationVector:YYY,keyFactoryAlgorithm:PBKDF2WithHmacSHA512,salt:ZZZ,iterations:4096,passwordLength:270) (kafka.server.DynamicConfigManager)
但是,在重新启动代理之前,新用户无法连接。
是否可以在不重新启动kafka集群的情况下向sasl jaas配置添加新用户?
1条答案
按热度按时间vxqlmq5t1#
如果您正在使用
plain
中的机制sasl_plaintext
,基于此答案,您无法在正在运行的群集中添加新用户。相反,您可以切换到
SCRAM
机制之后,您就可以使用如下命令在运行集群中创建一个用户:但是,您仍然需要保留jaas配置文件,但是在启动服务器时只需传递一次。
这里是Kafka文档中关于使用
SCRAM
机制。