当前位置: 首页 > 知识库问答 >
问题:

Kafka到zookeeper摘要-MD5验证错误

梁鸣
2023-03-14

我可以做DIGEST-MD5认证与Kafka代理和嵌入式zookeeper这是由Kafka,但我得到以下错误消息,而做DIGEST-MD5认证与Kafka代理和非嵌入式zookeeper(单独的zookeeper实例)。

请在下面找到错误消息:

[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个答案

寇坚成
2023-03-14

你的 jaas 文件是什么样的?

对于Zookeeper集群,您必须在zookeeper jaas文件中包含三个部分:Server、QuorumServer和QuorumLearner

QuorumServer和QuorumLearner部分用于相互验证zookeeper服务器。请参阅§DIGEST-MD5基于身份验证的配置示例

服务器部分用于对kafka代理进行身份验证。它应该包含kafka用户名和密码,格式如§Server Configuration/JAAS配置文件中所示:DIGEST-MD5身份验证

您的 Kafka jaas 文件应具有一个包含用户名和密码的客户端部分,如 §客户端配置/JAAS 配置文件:摘要-MD5 身份验证中所示

最后,检查您是否为zookeeper jaas文件使用了正确的环境变量:

SERVER_JVMFLAGS="-Djava.security.auth.login.config=/path/to/server/jaas/file.conf"

嵌入式动物园管理员使用KAFKA_OPTS

 类似资料:
  • Dropwizard是否也支持摘要验证?我只找到了基本的身份验证和OAuth。这方面的示例代码会很好。 null

  • 问题内容: 我正在从http服务器下载文件,并且必须考虑到下载过程中的随机时间,网络连接失败或计算机崩溃。如果发生这种情况,我将使用HTTP“ Range:”标头开始恢复下载。 由于必须根据MD5哈希对下载进行验证,因此我似乎没有办法在简历后使用网络输入流来获取正确的哈希,因为java.security.MessageDigest似乎没有基本上说“从我以前下载的部分md5哈希开始更新当前的md5哈

  • 在 basic-authentication项目的基础上,我们构建了一个digest-authentication项目。 build.gradle 修改 build.gradle 文件,让我们的digest-authentication项目成为一个新的项目。 修改内容也比较简单,修改项目名称及版本即可。 jar { baseName = 'digest-authentication'

  • 我正在尝试建立一个开源的Kafka集群。集群由2个Kafka节点和1个动物园管理员组成。当我试图启用动物园管理员SASL身份验证时,我遇到了以下异常。提供Zookeeper和Kafka配置文件。请在我做错的地方帮助我。 我的动物园管理员设置如下 1) 动物园管理员jaas.conf zookeeper.properties 3)导出" ZOOKEEPER _ OPTS =-DJ ava . sec

  • 问题内容: 如何显示jQuery插件的单独错误消息和摘要? 我实际上发现了一个类似的问题,但是它只是引用了一些我可以使用的钩子,但是我不确定从哪里开始。 我得到了显示单个错误消息的部分,但是我需要在提交时在警报框中显示摘要,并且可以在此处找到插件。 刚刚了解了如何,感谢David的代码,以及我的后续问题-警报框为“名字:请输入一个有效的名字”。 代码如下: 问题答案: 正如链接的问题所述,只要显示

  • 我正在使用Hibernate和Spring创建RESTAPI。我正在将培训师映射到mySQL中的表 和 实体: 以下是回购代码: @Query(value=“SELECT*from trainers,其中account_id为null”,nativeQuery=true)List getTrainerNoAccount(); 配置Sql: getTrainerNoAccount()工作正常。