You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot Kafka消费者反复出现Node -1 disconnected问题求助

解决Spring Kafka消费者出现Node -1 disconnected和Cancelled in-flight API_VERSIONS request问题

问题原因

你遇到的Node -1 disconnected和Cancelled in-flight API_VERSIONS request日志,本质是Kafka消费者客户端未能成功与Broker建立有效连接:

  • Node -1是Kafka客户端的虚拟节点ID,代表还未成功关联到任何真实Broker节点时的占位标识。
  • Cancelled in-flight API_VERSIONS request说明客户端在尝试发送最基础的API版本协商请求时,连接就已中断,请求被取消。

常见触发原因包括:

  • Bootstrap Server的地址/端口配置错误,比如端口与Broker实际监听的端口不匹配(9093通常是SSL端口,若未配置SSL会导致连接失败)
  • 应用服务器与Kafka Broker之间存在网络连通性问题,比如防火墙、安全组阻止了端口流量
  • Broker的advertised.listeners配置不正确,导致客户端无法获取到有效的Broker节点地址

解决方法

1. 验证Bootstrap Server配置正确性

  • 先通过命令测试端口连通性:
    telnet kafka-host.com 9093
    # 或使用nc命令
    nc -zv kafka-host.com 9093
    
    如果连接失败,先确认Broker实际监听的端口:
    • 若Broker使用明文连接,默认端口是9092,将配置中的kafka-host.com:9093改为kafka-host.com:9092
    • 若9093确实是SSL端口,需要在消费者配置中添加SSL相关参数:
      props.put(ConsumerConfig.SECURITY_PROTOCOL_CONFIG, "SSL");
      // 若需要证书认证,补充以下配置
      props.put("ssl.truststore.location", "/path/to/your/truststore.jks");
      props.put("ssl.truststore.password", "your-truststore-password");
      

2. 排查网络与防火墙限制

  • 验证域名解析:执行nslookup kafka-host.com,确认返回的IP是Broker的正确公网/可访问IP
  • 检查应用服务器到Broker的网络链路:确保没有防火墙、安全组规则阻止9093(或9092)端口的入站/出站流量
  • 云环境下,需确认Broker所在实例的安全组已开放对应端口给应用服务器的IP范围

3. 检查Broker的advertised.listeners配置

  • 登录Broker机器,打开server.properties文件,查看advertised.listeners配置项
  • 确保该配置的地址是客户端能够访问到的地址(不能使用内部IP或localhost,除非应用与Broker在同一机器),例如:
    advertised.listeners=PLAINTEXT://kafka-host.com:9092
    # 或SSL端口
    advertised.listeners=SSL://kafka-host.com:9093
    

内容的提问来源于stack exchange,提问作者PatPanda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:05:18