kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING
docker-compose启动kafka连接zookeeper异常
![在这里插入图片描述](https://img-blog.csdnimg.cn/d4143cac9c264b42909509070d900959.png#pic_center)
原配置文件
version: '3.0'
services:
zookepper:
image: zookeeper:1.0
restart: always
privileged: true
container_name: zookeeper
environment:
SET_CONTAINER_TIMEZONE: "true"
CONTAINER_TIMEZONE: "Asia/Shanghai"
ports:
- "2181:2181"
kafka:
image: kafka:1.0
container_name: kafka
restart: always
privileged: true
environment:
SET_CONTAINER_TIMEZONE: "true"
CONTAINER_TIMEZONE: "Asia/Shanghai"
KAFKA_BROKER_ID: 0
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.17:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: 192.168.1.17:2181
KAFKA_CREATE_TOPICS: "file_manager"
KAFKA_HEAP_OPTS: -Xmx1G -Xms256M
ports:
- "9092:9092"
depends_on:
- zookepper
- 之前使用该文件从来没有问题,换了一套网络环境之后,启动之后查看kafka日志报错kafka.zookeeper.ZooKeeperClientTimeoutException。
- 个人感觉还是网络的原因。所以将docker网络默认的桥接模式改为host模式,最终解决问题
最终配置文件
version: '3.0'
services:
zookepper:
image: zookeeper:1.0
restart: always
privileged: true
container_name: zookeeper
network_mode: host
environment:
SET_CONTAINER_TIMEZONE: "true"
CONTAINER_TIMEZONE: "Asia/Shanghai"
ZOOKEEPER_CLIENT_PORT: 2181
kafka:
image: kafka:1.0
container_name: kafka
restart: always
privileged: true
network_mode: host
environment:
SET_CONTAINER_TIMEZONE: "true"
CONTAINER_TIMEZONE: "Asia/Shanghai"
KAFKA_BROKER_ID: 0
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.17:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ZOOKEEPER_CONNECT: 192.168.1.17:2181
KAFKA_CREATE_TOPICS: "file_manager"
KAFKA_HEAP_OPTS: -Xmx1G -Xms256M
depends_on:
- zookepper