docker-compose - kafka:9092/1: Failed to resolve 'kafka:9092': nodename nor servname provided,

66 Views Asked by At

I am getting this error:

kafka:9092/1: Failed to resolve 'kafka:9092': nodename nor servname provided, or not known (after 2ms in state CONNECT, 1 identical error(s) suppressed)

I have this docker-compose config

  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    container_name: 'virl-zookeeper'
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000


  kafka:
    image: confluentinc/cp-kafka:latest
    container_name: 'virl-kafka'
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: 'false'
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

There are two things that are pissing me off:

  1. My ConfigMap looks like this:
&kafka.ConfigMap{
  "acks":                   1,
  "retries":                2,
  "linger.ms":              400,
  "bootstrap.servers":      "0.0.0.0:9092",
  "go.logs.channel":        chanLogs,
  "go.logs.channel.enable": true,
}

so my producer shouldn't even be trying to connect to kafka:9092, it should be trying to connect to 0.0.0.0:9092

I have no idea why it won't connect but I am not happy about it. Anyone know? Clearly I am doing something wrong.

1

There are 1 best solutions below

0
On

This seems to work:

  zookeeper:
    image: confluentinc/cp-zookeeper:latest
    container_name: 'virl-zookeeper'
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000


  kafka:
    image: confluentinc/cp-kafka:latest
    container_name: 'virl-kafka'
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
      - "9093:9093"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: 'false'
      KAFKA_LISTENERS: INTERNAL://:9092,EXTERNAL://:9093
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092,EXTERNAL://localhost:9093
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

and in your code change the ConfigMap to use:

    "bootstrap.servers":      "0.0.0.0:9093",