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

Kafka服务端部署于A服务器,B服务器消费端连接失败求助

解决Kafka消费端无法连接远程Broker的问题

Hey,我之前也碰到过这个一模一样的问题!你看到的Connection to node -1 could not be established警告,本质是消费端没法正确连接到A机上的Kafka Broker,咱们一步步来排查:

  • 第一步:先确认网络连通性
    在B机上先测试和A机的网络是否通畅:

    1. 执行ping 192.168.78.131,如果ping不通,先解决网络路由或者防火墙的基础问题。
    2. 测试9092端口是否可访问:执行telnet 192.168.78.131 9092或者nc -zv 192.168.78.131 9092,如果连接失败,说明A机的防火墙挡住了9092端口,需要在A机上开放该端口(比如用firewalld的话,执行firewall-cmd --add-port=9092/tcp --permanent然后firewall-cmd --reload)。
  • 第二步:检查Kafka Broker的核心配置(最容易踩坑!)
    登录A机,找到Kafka的server.properties配置文件,重点检查两个参数:

    1. listeners:不能设置为PLAINTEXT://localhost:9092或PLAINTEXT://127.0.0.1:9092,否则Broker只监听本地请求。改成PLAINTEXT://0.0.0.0:9092(监听所有网卡)或者PLAINTEXT://192.168.78.131:9092(指定A机的内网IP)。
    2. advertised.listeners:这个是Broker对外宣告的地址,必须设置为B机能访问到的A机地址,也就是PLAINTEXT://192.168.78.131:9092。如果这个参数缺失或设为localhost,消费端会拿到localhost地址,自然无法连接。

    修改完配置后,一定要重启Kafka服务才能生效。

  • 第三步:确认目标Topic是否存在
    虽然错误提示是连接问题,但也可以顺带确认下test主题是否存在。在A机执行:

    bin/kafka-topics.sh --list --bootstrap-server localhost:9092
    

    如果没有test主题,先创建它:

    bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
    
  • 第四步:检查版本兼容性
    偶尔版本差异过大也会导致连接问题,分别在A机和B机执行bin/kafka-topics.sh --version查看版本,尽量保证两者版本一致或在官方兼容范围内。

我当时碰到这个问题就是因为advertised.listeners没设置对外IP,改完重启就好了,你按上面的步骤排查应该能解决!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:31:58