如何在springboot yml文件中定义用户和密码?

kadbb459  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(808)

我已经安装了kafka,并将用户和密码定义为saslèu明文协议,我在控制台中做了一些示例,我可以向主题发送消息并使用各自的凭据接收这些消息,现在我需要在我的spring boot应用程序中复制该配置,
这是my application.yml文件:

  1. server:
  2. port: 65498
  3. spring:
  4. kafka:
  5. bootstrap-servers: ip:9092
  6. properties:
  7. security:
  8. protocol: SASL_PLAINTEXT
  9. sasl:
  10. mechanism: PLAIN
  11. jaas:
  12. config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";
  13. producer:
  14. value-serializer: org.apache.kafka.common.serialization.StringSerializer

应用程序启动良好,但当我尝试发送消息时,它会引发以下错误:

  1. org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Connection to node -1 could not be established. Broker may not be available.

我注意到的一件事是,如果我没有在控制台中将producer.properties传递给producer,它会抛出类似的错误:

  1. WARN [Producer clientId=console-producer] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)

有人能帮我解决这个问题吗?,
提前谢谢。

i34xakig

i34xakig1#

我找到了解决方案,我的错误是在我的server.properties中我定义了 advertised.listeners 作为 SASL_PLAINTEXT://localhost:9092 所以我的客户端尝试使用localhost连接,所以我将localhost改为hostip,它就可以工作了!

相关问题