Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot Kafka-如何在springboot yml文件中定义用户和密码?_Spring Boot_Apache Kafka_Sasl - Fatal编程技术网

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

Spring boot Kafka-如何在springboot yml文件中定义用户和密码?,spring-boot,apache-kafka,sasl,Spring Boot,Apache Kafka,Sasl,我已经安装了kafka,并将用户和密码定义为SASL_明文协议,我在控制台中做了一些示例,我可以向主题发送消息并使用它们各自的凭据接收这些消息,现在我需要在我的spring boot应用程序中复制该配置 这是my application.yml文件: server: port: 65498 spring: kafka: bootstrap-servers: ip:9092 properties: security: protocol: SASL

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

这是my application.yml文件:

server:
  port: 65498
spring:
  kafka:
    bootstrap-servers: ip:9092
    properties:
      security:
        protocol: SASL_PLAINTEXT
      sasl:
        mechanism: PLAIN
        jaas:
          config: org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin-secret";
    producer:
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
应用程序启动良好,但当我尝试发送消息时,它会抛出以下错误:

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,它会抛出一个类似的错误:

WARN [Producer clientId=console-producer] Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected (org.apache.kafka.clients.NetworkClient)
有人能帮我解决这个问题吗


提前感谢。

我找到了解决方案,我的错误是在kafka的server.properties中,我将
播发的侦听器定义为
SASL\u PLAINTEXT://localhost:9092
,因此我的客户端尝试使用localhost进行连接,所以我将localhost更改为主机ip,它可以工作

也许这个线程可以给你一些提示,事实上我已经看到了这个问题,并遵循相同的配置,它不工作。