【问题标题】:Spring Boot Kafka Startup error "Connection to node -1 could not be established. Broker may not be available."Spring Boot Kafka 启动错误“无法建立到节点 -1 的连接。代理可能不可用。”
【发布时间】:2019-12-27 22:09:22
【问题描述】:

我正在尝试使用 Java 12 在本地主机上使用 Spring Boot 2.1.7.RELEASE 启动 Spring-Kafka。

得到错误: “org.apache.kafka.clients.NetworkClient : [Consumer clientId=consumer-1, groupId=inter] 无法建立到节点 -1 的连接。代理可能不可用。”

我尝试将 Java 版本切换到 11 和 8 以及各种属性

spring:
  kafka:
    consumer:
      #bootstrap-servers: localhost:9092
      group-id: inter
      auto-offset-reset: earliest
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
    producer:
      bootstrap-servers: localhost:9092
@Service
public class KafkaHalloWorldMessagingService {

    private KafkaTemplate<String, String> kafkaTemplate;

    @Autowired
    public KafkaHalloWorldMessagingService(KafkaTemplate<String, String> kafkaTemplate) {
        this.kafkaTemplate = kafkaTemplate;
    }

    public void sendHalloToTheSystem(String messageToSend) {
        kafkaTemplate.send("interlinked.hallo.topic", messageToSend);
    }
}

@Component
public class KafkaHalloWorldListener {

    @KafkaListener(topics = "interlinked.hallo.topics", groupId = "inter")
    public void handle(String messageToListenTo) {
        System.out.println(messageToListenTo.toUpperCase());
    }
}

2019-08-22 16:25:20.580 WARN 5865 --- [restartedMain] org.apache.kafka.clients.NetworkClient:[Consumer clientId=consumer-1, groupId=inter] 无法连接到节点 -1成立。经纪人可能不可用。

【问题讨论】:

    标签: spring spring-boot apache-kafka spring-kafka


    【解决方案1】:

    确保 yml 文件中的 bootstrap server 值和 Kafka server.properties 文件中的 listener 值相同。

    在 server.properties 文件中更新这两个值。 在Kafka下载目录的config文件夹中可以看到。

    zookeeper.connect=您的 IpV4 地址:2181

    listeners=PLAINTEXT://您的 IpV4 地址:9092

    例如:zookeeper.connect=10.147.2.161:2181

    为什么消费者的引导服务器属性被注释掉了?

    请将生产者的引导服务器值也用于消费者。

    spring.kafka.bootstrap-servers = Your IpV4 addrees:9092
    

    或者拆分

    producer:
         bootstrap-servers: =Your IpV4 addrees:9092
    consumer:
         bootstrap-servers: =Your IpV4 addrees:9092:
    

    希望你的 zookeeper 和 kafka 都起来了。

    【讨论】:

    • 非常感谢!我会试试的
    • 我还没有开始。我想我必须阅读更多关于这个主题的内容,因为我不知道 zookeeper 是做什么的,而且我的印象是,spring boot 处理了我需要开始的大部分事情。非常感谢您抽出宝贵时间!
    • 简单地说zookeeper是Kafka的集群管理器。比如你需要删除一个topic,你可以使用zookeper实例从所有kafka服务器中删除这个topic:./kafka-topics.sh --zookeeper localhost: 2181 --delete --topic "topic name"。跨度>
    猜你喜欢
    • 1970-01-01
    • 2018-05-20
    • 2020-06-11
    • 2018-09-19
    • 1970-01-01
    • 2018-07-05
    • 2019-10-03
    • 2018-04-11
    • 1970-01-01
    相关资源
    最近更新 更多