我一直在尝试使用kcat来使用来自broker的消息,但是由于某些原因kcat尝试连接到localhost:9092,而不是我使用-b开关提供给它的broker。我已经浏览了所有的官方文档和一些how-to's,但是我不能弄清楚这一点。
举个例子:
kcat -C -b <remote kafka broker ip> -t test-topic1 -o -1 -e
%3|1675853772.320|FAIL|rdkafka#consumer-1| [thrd:localhost:9092/1001]: localhost:9092/1001: Connect to ipv4#127.0.0.1:9092 failed: Connection refused (after 0ms in state CONNECT)
% ERROR: Local: Broker transport failure: localhost:9092/1001: Connect to ipv4#127.0.0.1:9092 failed: Connection refused (after 0ms in state CONNECT)
%3|1675853772.576|FAIL|rdkafka#consumer-1| [thrd:localhost:9092/1001]: localhost:9092/1001: Connect to ipv6#[::1]:9092 failed: Connection refused (after 0ms in state CONNECT)
% ERROR: Local: Broker transport failure: localhost:9092/1001: Connect to ipv6#[::1]:9092 failed: Connection refused (after 0ms in state CONNECT)
我想我在这里忽略了一些明显的东西,但是为什么它要连接到localhost?
kcat -b <remote kafka broker ip> -L
它像一个符咒一样工作,列出来自 〈remote kafka broker ip〉 broker的主题和分区
3条答案
按热度按时间velaa5lx1#
您是否仔细检查过您的kcat配置?如果您没有显式地提供您的代理,它可能会从中阅读。
这里有一个关于如何设置config的blog post。如果你这样设置它,你也不必在每次运行它的时候传递你的
-b
标志。5n0oy7gb2#
为什么要连接到localhost
因为这就是Kafka的《
server.properties
》在《advertised.listeners
》中所列出的。https://www.confluent.io/blog/kafka-listeners-explained/
doinxwow3#
谢谢你所有的回答!最后意识到错误在我这边,我用了一个正确配置Kafka Docker 图像。工作的权利开箱即用