我试着用卡夫卡。 所有配置都正确完成,但当我试图从控制台产生消息时,我一直得到以下错误

WARN Error while fetching metadata with correlation id 39 : 
     {4-3-16-topic1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

Kafka版本:2.11-0.9.0.0


当前回答

我尝试了这里列出的所有建议。对我有用的是去服务器。属性和添加:

port = 9092
advertised.host.name = localhost 

将监听器和advertised_listeners注释掉。

其他回答

对于我来说,我没有为Kafka实例指定代理id。 当它在Docker环境中重启时,有时会从zookeeper获取一个新的id。 如果您的代理id大于1000,只需指定环境变量KAFKA_BROKER_ID。

使用它可以查看代理、主题和分区。

brew install kafkacat
kafkacat -b [kafka_ip]:[kafka_poot] -L

这个警告(在0.10.2.1中)的另一种可能是,你试图对一个刚刚创建的主题进行投票,而这个主题分区的领导者还不可用,你正在进行领导者选举。

在主题创建和轮询之间等待一秒钟是一种变通方法。

以我为例,它在家里工作得很好,但在办公室里,当我连接到办公室网络时,它就不行了。

所以修改了config/server.properties 监听器=明文://:9092 to监听器=明文://localhost:9092

在我的例子中,我是在描述消费者群体时得到的

在服务器上添加侦听器设置后,问题得到解决。属性文件位于配置目录。 listener =PLAINTEXT://localhost(或您的服务器):9092 修改完成后重新启动kafka。使用版本2.11

我知道这是很久以前发布的,我想分享我是如何解决它的。 因为我有我的办公室笔记本电脑(VPN和代理配置)。 我检查了环境变量NO_PROXY

> echo %NO_PROXY%

返回空值 现在我已经设置了NO_PROXY与localhost和127.0.0.1

> set NO_PROXY=127.0.0.1,localhost  

如果您想追加现有值,则

> set NO_PROXY=%NO_PROXY%,127.0.0.1,localhost  

在这之后,我重新启动了zookeeper和kafka 工作起来很有魅力