我在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
为什么使用者要尝试从本地主机读取?是否从中读取任何选项,命令行或默认文件;我可以更改它吗?
任何帮助将不胜感激!
有相同的问题。通过按照kafka配置(config / server.properties)中的注释指示设置属性'advertised.host.name'并重新启动kafka服务器来解决此问题。
我有同样的问题,我正在使用kafka 0.11
,并在我的Ubuntu VM和Windows 10的消费者中启动了生产者和代理。我创建了一个python脚本,该脚本可让您通过ssh隧道访问kafka / zookeeper,以从本地计算机使用和产生消息。
兼容Linux和Mac
我以类似(甚至更复杂)的方式设置了Kafka和Zookeeper,并且kafka-console-consumer.sh确实如广告中所述。
这很可能是配置错误的Kafka实例(在服务器配置中指定了其Zookeeper节点)。>>
检查Kafka配置。 默认情况下,如果未指定Zookeeper实例,则假定为单个localhost实例。