我可以用kafka代理和嵌入的zookeeper进行digest-md5身份验证,这是由kafka提供的,但是我在用kafka代理和非嵌入的zookeeper(单独的zookeeper示例)进行digest-md5身份验证时收到以下错误消息。
请查看以下错误消息:
[2018-11-05 19:44:21,536] ERROR SASL authentication failed using login context 'Client' with exception: {} (org.apache.zookeeper.client.ZooKeeperSaslClient)
javax.security.sasl.SaslException: Error in authenticating with a Zookeeper Quorum member: the quorum member's saslToken is null.
org.apache.zookeeper.KeeperException$AuthFailedException: KeeperErrorCode = AuthFailed for /consumers
1条答案
按热度按时间f4t66c6m1#
你的jaas文件是什么样子的?
对于zookeeper集群,zookeeper jaas文件中必须有三个部分:server、quorumserver和quorumlearner
quorumserver和quorumlearner部分用于相互验证zookeeper服务器。请参阅中的配置示例§基于digest-md5的身份验证
服务器部分用于验证kafka代理。它应该包含kafka用户名和密码,格式如中所示§服务器配置/jaas配置文件:digest-md5身份验证
您的kafka jaas文件应该有一个带有用户名和密码的客户机部分,如中所示§客户机配置/jaas配置文件:digest-md5身份验证
最后,检查是否为zookeeper jaas文件使用了正确的环境变量:
嵌入式zookeeper使用Kafka选项