本文介绍了Kafka到ZooKeeper摘要-MD5身份验证错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以使用Kafka Broker和嵌入式ZooKeeper(由Kafka提供)进行Digest-MD5身份验证,但在使用Kafka Broker和非嵌入式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
推荐答案
您的JAAS文件是什么样子?
对于ZooKeeper集群,ZooKeeper JAAS文件中必须有三个部分:服务器、QuorumServer和QuorumLearnerQuorumServer和QuorumLearner部分用于相互验证ZooKeeper服务器。参见《基于摘要-MD5的身份验证》中的配置示例here
服务器部分用于对Kafka经纪人进行身份验证。应包含Kafka用户名和密码,格式如§服务器配置/JAAS配置文件:Digest-MD5身份验证
所示您的Kafka jaas文件应该有一个客户端部分,其中包含用户名和密码,如§客户端配置/JAAS配置文件:Digest-MD5身份验证
中所示最后,检查您是否为ZooKeeper JAAS文件使用了正确的环境变量:
SERVER_JVMFLAGS="-Djava.security.auth.login.config=/path/to/server/jaas/file.conf"
嵌入式ZooKeeper使用Kafka_opts
这篇关于Kafka到ZooKeeper摘要-MD5身份验证错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!