Kafka:如何连接kafka-console-consumer以获取远程代理主题内容?

问题描述 投票:5回答:4

我在ec2上的一台机器上安装了kafka zookeeper和3个代理,端口为9092..9094,并尝试从另一台机器上使用主题内容。端口2181(zk),9092、9093和9094(服务器)对用户计算机开放。我什至可以做一个bin/kafka-topics.sh --describe --zookeeper 172.X.X.X:2181 --topic remotetopic给我

主题:远程主题分区计数:1复制因素:3配置:主题:remotetopic分区:0领导者:2复制副本:2,0,1 Isr:2,0,1Blockquote

但是当我执行bin/kafka-console-consumer.sh --zookeeper 172.X.X.X:2181 --from-beginning --topic remotetopic时我会得到

从代理[id:0,主机:本地主机,端口:9092]的主题[Set(remotetopic)]的相关ID为0的主题获取主题元数据失败(kafka.client.ClientUtils $)java.nio.channels.ClosedChannelException

为什么使用者要尝试从本地主机读取?是否从中读取任何选项,命令行或默认文件;我可以更改它吗?

任何帮助将不胜感激!

amazon-ec2 apache-kafka apache-zookeeper kafka-consumer-api kafka-producer-api
4个回答
7
投票

有相同的问题。通过按照kafka配置(config / server.properties)中的注释指示设置属性'advertised.host.name'并重新启动kafka服务器来解决此问题。


5
投票

我有同样的问题,我正在使用kafka 0.11

,并在我的Ubuntu VM和Windows 10的消费者中启动了生产者和代理。

2
投票

我创建了一个python脚本,该脚本可让您通过ssh隧道访问kafka / zookeeper,以从本地计算机使用和产生消息。

兼容Linux和Mac


0
投票

我以类似(甚至更复杂)的方式设置了Kafka和Zookeeper,并且kafka-console-consumer.sh确实如广告中所述。

这很可能是配置错误的Kafka实例(在服务器配置中指定了其Zookeeper节点)。>>

检查Kafka配置。 默认情况下,如果未指定Zookeeper实例,则假定为单个localhost实例。

© www.soinside.com 2019 - 2024. All rights reserved.