在Ubuntu上排查Kafka連接問題可按以下步驟進行:
檢查服務狀態
sudo systemctl status kafka
sudo systemctl status zookeeper
若未啟動,使用 sudo systemctl start kafka
啟動服務。驗證配置文件
/etc/kafka/server.properties
:
listeners
和 advertised.listeners
配置正確(如 PLAINTEXT://localhost:9092
)。zookeeper.connect
指向正確的Zookeeper地址。bootstrap.servers
是否與Kafka配置一致。測試網絡連通性
ping
測試Kafka節點IP可達性:ping <kafka-broker-ip>
telnet
或 nc
測試端口是否開放:telnet <kafka-broker-ip> 9092
# 或
nc -zv <kafka-broker-ip> 9092
排查防火墻與安全組
sudo ufw status
sudo ufw allow 9092
查看日志與資源狀態
/var/log/kafka/server.log
,定位錯誤信息(如端口沖突、權限不足等)。df -h
free -h
確保Kafka數據目錄所在磁盤有足夠空間。處理版本與依賴問題
使用工具輔助診斷
# 查看Topic列表
kafka-topics.sh --bootstrap-server <broker-ip>:9092 --list
# 生產/消費測試
kafka-console-producer.sh --bootstrap-server <broker-ip>:9092 --topic test
kafka-console-consumer.sh --bootstrap-server <broker-ip>:9092 --topic test --from-beginning
```。
參考來源: