使用 Docker 设置 kafka 和 zooker 用于开发

Setup kafka and zooker with Docker for development

我正在尝试为开发设置 Kafka 和 zookeeper,我正在关注 this tutorial:

version: "3"
services:
  zookeeper:
    image: 'bitnami/zookeeper:latest'
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka-src:
    image: 'bitnami/kafka:latest'
    ports:
      - '9092:9092'
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_LISTENERS=PLAINTEXT://:9092
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper
  kafka-dst:
    image: 'bitnami/kafka:latest'
    ports:
      - '9093:9093'
    environment:
      - KAFKA_BROKER_ID=2
      - KAFKA_LISTENERS=PLAINTEXT://:9093
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9093
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper

但是当我这样做时 docker-compose up 我收到错误 Connection to node 2 (/127.0.0.1:9093) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)

我的总体目标是能够为开发环境设置kafka。

谢谢

我觉得zookeeper找不到kafka,kafka找不到zookeeper 因为本地主机名冲突 if use Ubuntu OS 是这样用的吗?如果 Ubuntu 我认为您需要从 /etc/hosts

更改设置主机

看这个linkhttp://manpages.ubuntu.com/manpages/bionic/man5/hosts.5.html

这是灵魂

[your ip Address] [local Host]
140...1           localhost
140...1           abed-Inspiron-5593
140...1           release.gitkraken.com
140...1           mysql
140...1           eurekaserver
140...1           keycloak
140...1           kafka
140...1           zookeeper

当重命名变量时,README 的部分似乎没有更新(我不知道他们为什么这样做)

变量现在以 KAFKA_CFG 开头,如页面的其他部分所示,这可能解释了为什么您从默认值覆盖的侦听器属性不起作用。

我写的

This section是正确的

请注意,存储库中已有一个集群文件 - https://github.com/bitnami/bitnami-docker-kafka/blob/master/docker-compose-cluster.yml

但是,单台机器是单点故障,因此在一个组合文件中包含两个代理不会有助于提高弹性或吞吐量。特别是因为您没有将内部主题配置为具有超过一个的默认复制因子