本文介绍了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文件中必须有三个部分:服务器QuorumServerQuorumLearner

QuorumServerQuorumLearner部分用于相互验证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身份验证错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-24 22:15