[Kafka]docker-compose启动zookeeper以及kafka报错kafka.zookeeper.ZooKeeperClientTimeoutException

kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state: CONNECTING

docker-compose启动kafka连接zookeeper异常

在这里插入图片描述

原配置文件

version: '3.0'
services:
  zookepper:
    image: zookeeper:1.0                    # 原镜像`wurstmeister/zookeeper
    restart: always
    privileged: true
    container_name: zookeeper                        # 容器名为'zookeeper'
    environment:
      SET_CONTAINER_TIMEZONE: "true"
      CONTAINER_TIMEZONE: "Asia/Shanghai"
    ports:                                           # 映射端口
      - "2181:2181"

  kafka:
    image: kafka:1.0                                # 原镜像`wurstmeister/kafka`
    container_name: kafka                                    # 容器名为'kafka'
    restart: always
    privileged: true                                           
    environment:
      SET_CONTAINER_TIMEZONE: "true"
      CONTAINER_TIMEZONE: "Asia/Shanghai"                                                       # 设置环境变量,相当于docker run命>令中的-e
      KAFKA_BROKER_ID: 0                                               # 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.17:9092 # TODO 将kafka的地址端口注册给zookeeper
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092                        # 配置kafka的监听端口
      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                    # 原镜像`wurstmeister/zookeeper
    restart: always
    privileged: true
    container_name: zookeeper                        # 容器名为'zookeeper'
    network_mode: host
    environment:
      SET_CONTAINER_TIMEZONE: "true"
      CONTAINER_TIMEZONE: "Asia/Shanghai"
      ZOOKEEPER_CLIENT_PORT: 2181

  kafka:
    image: kafka:1.0                                # 原镜像`wurstmeister/kafka`
    container_name: kafka                                    # 容器名为'kafka'
    restart: always
    privileged: true
    network_mode: host
    environment:
      SET_CONTAINER_TIMEZONE: "true"
      CONTAINER_TIMEZONE: "Asia/Shanghai"                                                       # 设置环境变量,相当于docker run命>令中的-e
      KAFKA_BROKER_ID: 0                                               # 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.17:9092 # TODO 将kafka的地址端口注册给zookeeper
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092                        # 配置kafka的监听端口
      KAFKA_ZOOKEEPER_CONNECT: 192.168.1.17:2181
      KAFKA_CREATE_TOPICS: "file_manager"
      KAFKA_HEAP_OPTS: -Xmx1G -Xms256M
    depends_on:                         # 解决容器依赖启动先后问题
      - zookepper
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值