【问题标题】:500 Internal Server Error Error while creating AdminClient for Cluster Default为集群默认创建 AdminClient 时出现 500 内部服务器错误错误
【发布时间】:2022-01-14 14:17:32
【问题描述】:

当我尝试使用 apache kafka 的 UI 查看主题和消费者时出现错误

我使用的docker命令:

docker run -p 8080:8080 -e KAFKA_CLUSTERS_0_ZOOKEEPER=2181:2181 -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=127.0.0.1:9092 -d provectuslabs/kafka-ui:latest

或 docker-compose.yml 文件

services:
  kafka-ui:
    container_name: kafka-ui
    image: provectuslabs/kafka-ui:latest
    ports:
      - 8080:8080
    depends_on:
      - kafka
    environment:
      KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
      KAFKA_CLUSTERS_0_JMXPORT: 9997

  kafka:
    image: johnnypark/kafka-zookeeper
    ports:
      - "2181:2181"
      - "9092:9092"
    network_mode: bridge
    environment:
      ADVERTISED_HOST: 127.0.0.1
      NUM_PARTITIONS: 1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

两种方法我都试过了,都不起作用

我哪里做错了?

【问题讨论】:

    标签: docker apache-kafka


    【解决方案1】:

    2181:2181 是两个端口,不是 Zookeeper 主机名/ip 和端口

    那么,Kafka 地址是指您正在运行的容器,而不是实际的 Kafka 服务器。如果 Kafka 服务器在主机上运行,​​则需要修改它的属性,并且需要从 Docker 进行连接。相关 - Connect to Kafka on host from Docker (ksqlDB)

    除此之外,删除-d 或使用docker logs 查看实际错误。

    【讨论】:

    • 如何查看集群名称?
    • 如果你不能从主机ping cloud_erp_backend_kafka_1,那么Doc​​ker也不能访问它
    • 那我该怎么办? :(
    • 我不知道你的网络,但是提供一个完整的域名而不是一个主机将是一个开始。与控制您的 DNS 设置的服务器管理员交谈
    【解决方案2】:

    我正在为 kafka 和 zookeeper 使用 johnnypark/kafka-zookeeper 库。我能够通过使用两个单独的库来解决这个问题,如下例所示

      zookeeper1:
        image: confluentinc/cp-zookeeper:5.2.4
        environment:
          ZOOKEEPER_CLIENT_PORT: 2181
          ZOOKEEPER_TICK_TIME: 2000
    
      kafka1:
        image: confluentinc/cp-kafka:5.3.1
        depends_on:
          - zookeeper1
        ports:
          - 9093:9093
          - 9998:9998
        environment:
          KAFKA_BROKER_ID: 1
          KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
          KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka1:29092,PLAINTEXT_HOST://localhost:9093
          KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
          KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
          KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
          JMX_PORT: 9998
          KAFKA_JMX_OPTS: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=kafka1 -Dcom.sun.management.jmxremote.rmi.port=9998

    https://github.com/provectus/kafka-ui/blob/master/docker/kafka-ui.yaml

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 2013-06-11
      • 2020-08-30
      • 2011-05-05
      • 2013-03-09
      相关资源
      最近更新 更多