首页 文章

Spring Boot和Kafka:Broker断开连接

提问于
浏览
1

我已经设置了一个Spring Boot应用程序来接收来自现有和正在工作的Kafka制作人的Kafka消息 . 设置是标准的,基于以下内容:https://www.codenotfound.com/spring-kafka-consumer-producer-example.html

未收到消息,并在控制台中不断显示以下内容:

WARN org.apache.clients.NetworkClient :Bootstrap broker <hostname>:9092 disconnected

此外,还会记录以下调试消息:

org.apache.common.errors.Timeout: Failed to update metadata after 60000 ms.

控制台消息在以下链接中讨论:https://community.hortonworks.com/content/supportkb/150148/errorwarn-bootstrap-broker-6668-disconnected-orgap.html

记录的消息在这里讨论:https://community.cloudera.com/t5/Data-Ingestion-Integration/Error-when-sending-message-to-topic-in-Kafka/td-p/41440

很可能,第一个问题解决后不会发生超时 .

给出的控制台消息的解决方案是将 --security-protocol SSL 作为参数显式传递给producer或consumer命令 .

鉴于我正在监听现有的Kafka经纪人和主题,因此无法更改任何设置 . 任何更改都必须在Spring Boot端 .

是否可以配置 application.yml 以便 --security-protocol SSL 向消费者传递一个参数?此外,有没有人经历过这种情况,还有另一种方法可以使用Spring Boot和Spring Kafka中提供的配置选项解决问题吗?

谢谢

1 回答

  • 1

    the documentation .

    向下滚动到Kafka . 可以使用任意Kafka属性进行设置

    spring:
      kafka:
        properties:
          security.protocol: SSL
    

    适用于消费者和 生产环境 者(以及2.0中的管理员) .

    在即将发布的2.0版本(目前为RC1)中,也有

    spring:
      kafka:
        properties:
          consumer:
            some.property: foo
    

    对于仅适用于消费者的属性(对于 生产环境 者和管理员同样如此) .

相关问题