首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接从在码头运行的Kafkacat到在windows机器上本地运行的Kafka broker

无法连接从在码头运行的Kafkacat到在windows机器上本地运行的Kafka broker
EN

Stack Overflow用户
提问于 2020-01-04 02:37:30
回答 1查看 2.2K关注 0票数 5

我在一台windows机器上运行kafka。我运行卡夫卡的方式是

代码语言:javascript
复制
.\bin\windows\kafka-server-start.bat .\config\server.properties

server.properties是:

代码语言:javascript
复制
listeners=Listener_BOB://:29092,Listener_Kafkacat://127.0.0.1:9092
advertised.listeners=Listener_BOB://:29092,Listener_Kafkacat://127.0.0.1:9092
listener.security.protocol.map=Listener_BOB:PLAINTEXT,Listener_Kafkacat:PLAINTEXT
inter.broker.listener.name=Listener_BOB

我在用码头运行kafkacat

代码语言:javascript
复制
docker run -it --network="host" --name="producer" confluentinc/cp-kafkacat bash

当我跑的时候

代码语言:javascript
复制
 kafkacat -b host.docker.internal:9092 -C -t test

我得到了错误消息:

代码语言:javascript
复制
% ERROR: Local: Broker transport failure: 127.0.0.1:9092/0: Connect to ipv4#127.0.0.1:9092 failed: Connection refused (after 0ms in state CONNECT)

我知道我可以在码头上运行Kafka,但是我想知道为什么我不能连接到代理并生成或使用消息。我尝试了不同的事情,试图理解听众做了什么,但我无法思考为什么这不起作用。

当我这么做

代码语言:javascript
复制
kafkacat -b host.docker.internal:9092 -t test -L

我得到了

代码语言:javascript
复制
1 brokers:
  broker 0 at 127.0.0.1:9092
 1 topics:
  topic "test" with 1 partitions:
    partition 0, leader 0, replicas: 0, isrs: 0

也许有人能解释我做错了什么,或者告诉我为什么这不可能。

我下载了kafka的最新版本:Kafka2.4机器是Windows 10 Docker,用于使用Linux容器运行Windows

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-04 04:53:22

您需要将host.docker.internal:9092设置为广告侦听器。非本地主机/ 127.0.0.1

这是在尝试连接时客户端将被返回的地址

当你这样做的时候,你应该能看到这个。

代码语言:javascript
复制
1 brokers:
  broker 0 at host.docker.internal:9092

否则,如您所知,引导连接工作正常,但所公布的地址将为127.0.0.1以到达特定的代理,这显然不起作用,因为这将是kafkacat容器本身。

注意:在Linux主机之外,--network="host"不做您期望的事情,所以最好删除它。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59587470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档