使用docker和wurstmeisters图像设置当地的zookeeper和kafka

时间:2018-03-17 18:32:06

标签: docker apache-kafka docker-compose

我真的很难配置我的docker compose来让我的kafka运行。我总是在docker-compose logs上收到以下错误:

  

java.lang.IllegalArgumentException:创建代理侦听器时出错   来自' PLAINTEXT:// kafka:':无法解析PLAINTEXT:// kafka:to a a   经纪人端点

我已经为KAFKA_ADVERTISED_HOST_NAME尝试了所有可能的IP地址和我的机器名称,但这并没有改变这种情况。然而,这是我目前的docker-compose.yml

version: '3'

services:
  zookeeper:
    image: wurstmeister/zookeeper
    hostname: zookeeper
    restart: unless-stopped
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka
    hostname: kafka
    restart: unless-stopped
#    links: 
#      - zookeeper:zookeeper
    ports:
      - "9092:9092"
    environment:
      - KAFKA_ADVERTISED_HOST_NAME=kafka
      - KAFKA_BROKER_ID=1
      - KAFKA_NUM_PARTITIONS=1
      - KAFKA_CREATE_TOPICS="test:1:1"
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_AUTO_CREATE_TOPICS_ENABLE=true
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/kafka

1 个答案:

答案 0 :(得分:1)

我已停止使用wurstmeister并切换到bitnami。这里的配置只是直接来自示例。

version: '3'

services:
  zookeeper:
    image: 'bitnami/zookeeper:latest'
    hostname: zookeeper
    restart: unless-stopped
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    #volumes:
    #  - ./data/zookeeper:/bitnami/zookeeper
  kafka:
    image: 'bitnami/kafka:latest'
    hostname: kafka
    restart: unless-stopped
    ports:
      - '9092:9092'
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    volumes:
      - ./data/kafka:/bitnami/kafka