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

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


当前回答

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

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

其他回答

当我们试图订阅一个尚未创建的主题时,我们往往会收到这条消息。我们通常依赖于在部署环境中预先创建的主题,但我们有针对dockerized kafka实例运行的组件测试,每次都干净启动。

在这种情况下,我们在测试设置中使用AdminUtils来检查主题是否存在,如果不存在就创建它。有关设置AdminUtils的更多信息,请参阅另一个堆栈溢出。

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

port = 9092
advertised.host.name = localhost 

将监听器和advertised_listeners注释掉。

我使用docker-compose来构建使用wurstmeister/ Kafka映像的Kafka容器。在docker-compose文件中添加KAFKA_ADVERTISED_PORT: 9092属性为我解决了这个错误。

如果你得到这样重复的错误消息:

Error while fetching metadata with correlation id 3991 : {your.topic=LEADER_NOT_AVAILABLE}

Or

Discovered group coordinator 172.25.1.2:9092 (id: 2147483645 rack: null) (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:677)
(Re-)joining group (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:509)
Group coordinator 172.25.1.2:9092 (id: 2147483645 rack: null) is unavailable or invalid, will attempt rediscovery (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:729)
Discovered group coordinator 172.25.40.219:9092 (id: 2147483645 rack: null) (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:677)
Group coordinator 172.25.1.2:9092 (id: 2147483645 rack: null) is unavailable or invalid, will attempt rediscovery (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:729)

然后,你需要像这样在kafka server.properties中配置监听器:

 listeners=PLAINTEXT://your.server.ip:9092

这是在Kafka 2.5.0和confluent 5.4.1平台上尝试的解决方案。

如果你在本地机器上运行kafka,尝试更新$KAFKA_DIR/config/server。以下行包含的属性: //localhost:9092然后重启kafka。