我在一台windows机器上运行kafka。我运行卡夫卡的方式是
.\bin\windows\kafka-server-start.bat .\config\server.propertiesserver.properties是:
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
docker run -it --network="host" --name="producer" confluentinc/cp-kafkacat bash当我跑的时候
kafkacat -b host.docker.internal:9092 -C -t test我得到了错误消息:
% 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,但是我想知道为什么我不能连接到代理并生成或使用消息。我尝试了不同的事情,试图理解听众做了什么,但我无法思考为什么这不起作用。
当我这么做
kafkacat -b host.docker.internal:9092 -t test -L我得到了
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
发布于 2020-01-04 04:53:22
您需要将host.docker.internal:9092设置为广告侦听器。非本地主机/ 127.0.0.1
这是在尝试连接时客户端将被返回的地址
当你这样做的时候,你应该能看到这个。
1 brokers:
broker 0 at host.docker.internal:9092否则,如您所知,引导连接工作正常,但所公布的地址将为127.0.0.1以到达特定的代理,这显然不起作用,因为这将是kafkacat容器本身。
注意:在Linux主机之外,--network="host"不做您期望的事情,所以最好删除它。
https://stackoverflow.com/questions/59587470
复制相似问题