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

Windows端python-kafka生产者无法连接Ubuntu上的Apache Kafka服务器

排查Python-Kafka无法连接Ubuntu Kafka服务器的问题

1. 检查Kafka监听配置

Kafka默认仅监听localhost,需修改配置对外提供服务:

  • 编辑Kafka配置文件 server.properties(通常路径为/opt/kafka/config/或自定义安装路径)
  • 修改以下参数:
    listeners=PLAINTEXT://0.0.0.0:9092
    advertised.listeners=PLAINTEXT://<Ubuntu机器局域网IP>:9092
    
    将<Ubuntu机器局域网IP>替换为实际IP(如192.168.1.100)
  • 重启Kafka服务:sudo systemctl restart kafka(若使用systemd管理服务)

2. 验证Python代码的连接配置

确保生产者代码指定了正确的Broker地址:

from kafka import KafkaProducer

# 替换为Ubuntu机器的实际IP
producer = KafkaProducer(bootstrap_servers=['192.168.1.100:9092'])
# 后续生产逻辑
  • 禁止使用localhost或127.0.0.1,必须填写Ubuntu机器的局域网IP
  • 确认端口号为9092,无拼写错误

3. 检查Ubuntu防火墙规则

尽管tcping显示端口开放,仍需确认防火墙规则:

  • 查看当前UFW规则:sudo ufw status
  • 若9092端口未开放,添加规则:sudo ufw allow 9092/tcp
  • 重启UFW生效:sudo ufw reload

4. 检查版本兼容性

确认python-kafka库与Kafka服务器版本匹配:

  • 查看Kafka版本:kafka-topics.sh --version
  • 查看python-kafka版本:pip show kafka-python
  • 版本差距过大时,调整库版本,例如适配Kafka 2.x的命令:pip install kafka-python==2.0.2

5. 排查网络路由与DNS问题

  • 在Windows机器上ping Ubuntu的IP,确认基础网络连通性
  • 代码中优先使用IP而非主机名,避免DNS解析异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:05:24