Kafdrop-无法使用bitnami / kafka连接到Kafka群集设置

时间:2020-08-26 11:15:33

标签: docker apache-kafka docker-compose kafka-cluster

我使用bitnami kafka和zookeeper设置了kafka集群,我想使用kafdrop查看该集群或至少一个代理。我使用docker compose构建了所有组件。我最初遵循此tutorial,然后在docker-compose.yml

中添加了kafdrop配置
break

我的主要问题是kafdrop总是抛出此错误:

      SelectListBuilder({
        this.activeColor = const Color(0xFFBFFFD5).withOpacity(.6)
      });

The constructor returns type 'dynamic' that isn't of expected type 'Color'.dart(invalid_cast_new_expr)

我尝试用ff值更改version: '2' networks: kafka-net: driver: bridge services: zookeeper-server: image: 'bitnami/zookeeper:latest' networks: - kafka-net ports: - '2181:2181' environment: - ALLOW_ANONYMOUS_LOGIN=yes kafdrop: image: obsidiandynamics/kafdrop networks: - kafka-net restart: "no" ports: - "9000:9000" environment: KAFKA_BROKERCONNECT: "PLAINTEXT://localhost:9092,PLAINTEXT://localhost:9093,PLAINTEXT://localhost:9094" JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify" depends_on: - "kafka-server1" - "kafka-server2" - "kafka-server3" kafka-server1: image: 'bitnami/kafka:latest' networks: - kafka-net ports: - '9092:9092' environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 - ALLOW_PLAINTEXT_LISTENER=yes depends_on: - zookeeper-server kafka-server2: image: 'bitnami/kafka:latest' networks: - kafka-net ports: - '9093:9092' environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9093 - ALLOW_PLAINTEXT_LISTENER=yes depends_on: - zookeeper-server kafka-server3: image: 'bitnami/kafka:latest' networks: - kafka-net ports: - '9094:9092' environment: - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9094 - ALLOW_PLAINTEXT_LISTENER=yes depends_on: - zookeeper-server 的值,但所有方法都无效。

  • PLAINTEXT:// localhost:9092,PLAINTEXT:// localhost:9093,PLAINTEXT:// localhost:9094
  • 本地主机:9092,本地主机:9093,本地主机:9094
  • PLAINTEXT:// kafka-server1:9092,PLAINTEXT:// kafka-server2:9093,PLAINTEXT:// kafka-server3:9094
  • kafka-server1:9092,kafka-server2:9093,kafka-server3:9094

我实际上只是在猜测正确的配置语法,因此对此的任何解释都可以理解:)。

此外,是否在kafdrop配置中添加了020-08-26 10:53:53.517 WARN 1 [| kafdrop-admin] o.a.k.c.NetworkClient : [AdminClient clientId=kafdrop-admin] Connection to node -3 (localhost/127.0.0.1:9094) could not be established. Broker may not be available. 2020-08-26 10:53:53.522 WARN 1 [| kafdrop-admin] o.a.k.c.NetworkClient : [AdminClient clientId=kafdrop-admin] Connection to node -2 (localhost/127.0.0.1:9093) could not be established. Broker may not be available. 2020-08-26 10:53:53.526 WARN 1 [| kafdrop-admin] o.a.k.c.NetworkClient : [AdminClient clientId=kafdrop-admin] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. 2020-08-26 10:53:53.627 WARN 1 [| kafdrop-admin] o.a.k.c.NetworkClient : [AdminClient clientId=kafdro 属性? Kafdrop有示例docker-compose文件,而该文件没有网络配置,所以我想知道为什么/是否需要KAFKA_BROKERCONNECT

1 个答案:

答案 0 :(得分:2)

第二种方法是正确的方法。另外,对于不确定的KAFKA_CFG_ADVERTISED_LISTENERS变量,也是不确定的。您只需要确保使用正确的端口即可。这应该可以正常工作:

version: '2'

networks:
  kafka-net:
    driver: bridge

services:
  zookeeper-server:
    image: 'bitnami/zookeeper:latest'
    networks:
      - kafka-net
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafdrop:
    image: obsidiandynamics/kafdrop
    networks:
      - kafka-net
    restart: "no"
    ports:
      - "9000:9000"
    environment:
      KAFKA_BROKERCONNECT: "PLAINTEXT://kafka-server1:9092,PLAINTEXT://kafka-server2:9092,PLAINTEXT://kafka-server3:9092"
      JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
    depends_on:
      - "kafka-server1"
      - "kafka-server2"
      - "kafka-server3"
  kafka-server1:
    image: 'bitnami/kafka:latest'
    networks:
      - kafka-net    
    ports:
      - '9092:9092'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper-server
  kafka-server2:
    image: 'bitnami/kafka:latest'
    networks:
      - kafka-net    
    ports:
      - '9093:9092'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper-server
  kafka-server3:
    image: 'bitnami/kafka:latest'
    networks:
      - kafka-net    
    ports:
      - '9094:9092'
    environment:
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper-server