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

SASL握手期间METADATA类型的意外Kafka请求

柏明亮
2023-03-14

我正在尝试使用SASL平原将Kafka Java客户端连接到Kafka代理。但是当我试图从生产者那里发送消息时,Kafka服务器记录了以下错误:

[2020-04-30 14:48:14,955] INFO [SocketServer brokerId=0] Failed authentication with /127.0.0.1 (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)

看起来,生产者试图在SASL握手之前发送一个元数据请求。我如何在发送消息之前进行握手?

下面是我的< code > kafka _ Server _ JAAS . conf 文件,用于Kafka服务器。

KafkaServer {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin-secret"
    user_admin="admin-secret";
};

Client {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin-secret";
};

以下是我的zookeeper_jaas。conf文件,用于动物园管理员:

Server {
    org.apache.kafka.common.security.plain.PlainLoginModule required
    username="admin"
    password="admin-secret"
    user_admin="admin-secret";
};

在我的Java producer中,我设置了以下属性:

java prettyprint-override">Properties properties = new Properties();
properties.put("bootstrap.servers", "localhost:9092");
properties.put("sasl.jaas.config", "org.apache.kafka.common.security.plain.PlainLoginModule required username=\"admin\" password=\"admin_secret\"");
properties.put("sasl.mechanisms", "PLAIN");
properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
KafkaProducer kafkaProducer = new KafkaProducer(properties);

我做错什么了吗?

共有1个答案

李兴安
2023-03-14

您需要指定< code>security.protocol,否则默认情况下,Kafka客户端不使用< code>SASL。

客户端属性中,添加:

properties.put("security.protocol", "SASL_SSL");

还有< code > SASL _明文,但不建议对< code > SASL _明文使用< code >明文机制,因为这样可以有效地以明文形式交换密码。

 类似资料:
  • 问题内容: 我在连接到套接字服务器时遇到问题。 我有两个不同的云服务器(1)用于客户端项目,(2)用于套接字服务器。 (1)客户项目: (2)套接字服务器 1. nginx laravel-echo-server.json 下面是laravel-echo-server配置。 主管 这是主管配置。 2. Laravel回声服务器 注意:我使用和,并且效果很好。 有没有人有办法解决吗? 问题答案: 本

  • 我最近从AWS ELB转到HAProxy。我正在负载平衡器(HAProxy 1.5dev19)上终止SSL。 自从切换以来,我一直在HAProxy日志中遇到一些SSL连接错误(占请求总数的5-10%)。有三种类型的错误重复:SSL握手期间连接关闭SSL握手期间超时SSL握手失败(这种情况很少发生) 我使用的是免费的StartSSL证书,所以我的第一个想法是一些主机在接受该证书时遇到了问题,我过去没

  • 我正在尝试在我的Kafka服务器上启用SSL身份验证。我在Kafka文档中遵循7.2节。 遵循了所有步骤,但是当调用Producer.bat文件将数据发送到主题时,我得到了下面的错误。

  • 问题内容: 每次我尝试做: 我收到此消息: 我尝试了一切: 更新我的要求 更新我的SSL 但没有任何变化。 我正在使用Python 2.7.6,无法更改此设置。 问题答案: 我最终解决了问题,将Ubuntu版本从14.04更新为14.10,问题已解决。 但是在旧版本的ubuntu和python中,我安装了这些lib,它似乎解决了所有问题 如果您没有安装pip2.7,则可以改用pip

  • 我在Heroku上托管了一个Springboot应用程序。构建和部署工作得非常好。然而,每当我想访问该方法时,我都会看到这个错误<代码>出现意外错误(类型=错误请求,状态=400) 如果我使用loclhost,但使用Heroku的应用程序时抛出错误,那么它在Postman上运行得非常好。 这是控制器的样子。我猜这就是问题的来源。 . 你认为我能做些什么让api在Heroku上工作?

  • 论坛上充斥着这个问题,但我找不到解决办法。我尝试连接WS,但没有成功。我试图更新cacerts文件,但没有效果。 日志是: 谢谢你的帮助