【问题标题】:How to run mulitple Kafka brokers using docker-compose?如何使用 docker-compose 运行多个 Kafka 代理?
【发布时间】:2022-01-13 04:48:12
【问题描述】:

我正在尝试使用 docker-compose 运行多个 Kafka 代理。我将在 Docker 网络和本地机器上使用它,这就是我为代理使用不同端口的原因:

version: '3'

services:
  zookeeper_local_dev:
    image: wurstmeister/zookeeper
    container_name: zookeeper_local_dev
    ports:
      - "2181:2181"
  kafka_local_dev_1:
    image: wurstmeister/kafka
    hostname: kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ADVERTISED_PORT: 9092
      KAFKA_ADVERTISED_HOST_NAME: kafka
      KAFKA_ZOOKEEPER_CONNECT: zookeeper_local_dev:2181
      KAFKA_LISTENERS: INTERNAL://kafka:9092
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
    depends_on:
      - zookeeper_local_dev
  kafka_local_dev_2:
    image: wurstmeister/kafka
    hostname: kafka
    ports:
      - "9093:9093"
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ADVERTISED_PORT: 9093
      KAFKA_ADVERTISED_HOST_NAME: kafka2
      KAFKA_ZOOKEEPER_CONNECT: zookeeper_local_dev:2181
      KAFKA_LISTENERS: INTERNAL://kafka2:9093
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka2:9093
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
    depends_on:
      - zookeeper_local_dev

第二个代理启动时出现错误:

org.apache.kafka.common.KafkaException: Socket server failed to bind to kafka2:9093: Unresolved address.

有人可以帮忙吗?

【问题讨论】:

标签: docker apache-kafka docker-compose


【解决方案1】:

试试这个...

  • 重点是hostname
...
  kafka_local_dev_2:
    image: wurstmeister/kafka
    hostname: kafka2
    ports:
      - "9093:9093"
    environment:
      KAFKA_BROKER_ID: 2
      KAFKA_ADVERTISED_PORT: 9093
      KAFKA_ADVERTISED_HOST_NAME: kafka2
      KAFKA_ZOOKEEPER_CONNECT: zookeeper_local_dev:2181
      KAFKA_LISTENERS: INTERNAL://kafka2:9093
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka2:9093
...

【讨论】:

  • 我将kafka2 替换为localhost 并尝试仅使用使用端口9093 的这个代理运行。但这不起作用。尝试发布消息时,出现此错误:2021-12-09 16:44:57.087 WARN 1839 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Bootstrap broker localhost:9093 (id: -1 rack: null) disconnected
猜你喜欢
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-08
相关资源
最近更新 更多