Kafka与Docker问题

时间:2017-05-16 14:49:15

标签: docker apache-kafka docker-compose dockerfile

我正在尝试通过docker-compose文件部署kafka,或者甚至安装kafka图像并手动运行它。当我开始运行kafka服务器(代理)时,这两个步骤都给了我错误

INFO启动客户端连接,connectString = 188.226.151.167:2181 sessionTimeout = 6000 watcher=org.I0Itec.zkclient.ZkClient@323b36e0(org.apache.zookeeper.ZooKeeper) [2017-05-16 13:44:49,903] INFO等待守门员状态SyncConnected(org.I0Itec.zkclient.ZkClient) [2017-05-16 13:44:49,909] INFO打开与服务器188.226.151.167/188.226.151.167:2181的套接字连接。不会尝试使用SASL进行身份验证(未知错误)(org.apache.zookeeper.ClientCnxn) [2017-05-16 13:44:55,904] INFO终止ZkClient事件线程。 (org.I0Itec.zkclient.ZkEventThread)

任何人都可以清楚地解释发生了什么以及如何解决这个问题的明确解释

3 个答案:

答案 0 :(得分:0)

试试这个:

kafka:
  network_mode: 'bridge'
  image: wurstmeister/kafka
  links:
    - zookeeper
  environment:
    HOSTNAME_COMMAND: "hostname -I | awk -F' ' '{print $$1}'"
    KAFKA_ADVERTISED_PORT: 9092
    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
zookeeper:
  network_mode: 'bridge'
  image: wurstmeister/zookeeper

答案 1 :(得分:0)

我已经设置了我的docker compose,因为一切都很完美:

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - 2181:2181
    hostname: zookeeper
    container_name: zookeeper
    volumes:
      - /tmp/docker/zk1/logs:/logs
      - /tmp/docker/zk1/data:/data
  kafka:
    image: wurstmeister/kafka
    ports:
      - 9092:9092
    depends_on:
      - zookeeper
    environment:
      KAFKA_CREATE_TOPICS: "test1:1:1,test2:1:1"
      HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /tmp/docker/kafka/logs:/logs
      - /tmp/docker/kafka/data:/data
      - ./tmp/docker/kafka/kafka-logs:/kafka
    hostname: kafka
    container_name: kafka

我已将端口设置为'2181:2181'而不仅仅是'2181',以便可以在我的容器外访问。

我还设置了卷,以便每次重新启动容器时都能记住上一次的所有数据。

答案 2 :(得分:0)

它通过禁用防火墙连接解决了外部机器与docker连接的所有kafka 命令: ufw禁用