Ubuntu20.04中Kafka连接Zookeeper超时问题求助
Kafka无法连接ZooKeeper问题解决
问题核心
从日志里能直接定位关键矛盾:
- Kafka启动日志显示它在尝试连接 localhost:2121
- 但ZooKeeper日志明确记录自己监听的是默认的 2181端口
端口不匹配直接导致连接超时,抛出Timed out waiting for connection while in state: CONNECTING错误。
修复步骤
1. 修正Kafka的ZooKeeper连接配置
找到Kafka的server.properties文件(你的Ansible配置里是通过files/server.properties.j2模板生成的),定位到zookeeper.connect配置项,改成正确的端口:
zookeeper.connect=localhost:2181
检查模板文件里的变量逻辑,避免因为模板渲染错误把端口改成2121。
2. 重启Kafka服务
配置修改后,重启Kafka让新配置生效:
systemctl restart kafka
3. 验证连接是否正常
用Kafka自带工具验证ZooKeeper连接状态:
/opt/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
额外排查(如果上述步骤无效)
- 检查防火墙设置:Ubuntu 20.04默认启用ufw,确保本地可访问2181端口:
ufw allow in from 127.0.0.1 to any port 2181 - 确认ZooKeeper运行状态:确保ZooKeeper服务正常启动:
systemctl status zookeeper - 检查端口占用:确认2181端口确实被ZooKeeper进程占用:
netstat -tulpn | grep 2181
内容的提问来源于stack exchange,提问作者karthick Thirugnanam
相关产品推荐
相关产品推荐

