首页 > 解决方案 > 无法建立 Kafdrop (localhost/127.0.0.1:9092)。经纪人可能不可用

问题描述

我在本地机器上设置了 Kafka 和 Zookeeper,我想使用Kafdrop作为 UI。我尝试使用下面的 docker 命令运行:

docker run -d --rm -p 9000:9000 \
    -e KAFKA_BROKERCONNECT=<localhost:9092> \
    -e JVM_OPTS="-Xms32M -Xmx64M" \
    -e SERVER_SERVLET_CONTEXTPATH="/" \
    obsidiandynamics/kafdrop

我得到-bash: https://locahost:9092: No such file or directory

当我删除KAFKA_BROKERCONNECT参数时,应用程序运行但出现以下错误:

[AdminClient clientId=kafdrop-admin] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
2020-07-22 09:39:29.108  WARN 1 [| kafdrop-admin] o.a.k.c.NetworkClient 

我确实为此设置了 Kafka Server 的侦听器设置,但没有帮助。

listeners=PLAINTEXT://localhost:9092

在 GitHub 上发现了类似的问题,但无法理解大多数答案。

标签: apache-kafka

解决方案


Kafka 不是基于 HTTP 的。您不需要模式协议来连接到 Kafka,也不需要使用尖括号。

您也不能使用localhost,因为那是 Kafdrop 容器,而不是 Kafka。

我建议你将Docker Compose 与 Kafdrop 和 Kafka 一起使用


推荐阅读