提取元数据kafka {test = LEADER_NOT_AVAILABLE}时出错?

时间:2019-12-08 20:40:37

标签: apache-kafka kafka-consumer-api kafka-producer-api

运行这些简单命令后出现错误-

我启动了Zookeeper和Kafka服务器,

我执行命令:

./kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

并执行命令:

./kafka-console-producer --broker-list localhost:9092 --topic test

我会得到类似WARN的列表:

[2019-12-08 21:36:13,024] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 37 : {test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

我做错了什么? 谢谢

2 个答案:

答案 0 :(得分:0)

如果您的经纪人将auto.create.topics.enable设置为true,则此错误将是短暂的,您应该能够产生消息而没有任何其他错误。 发生这种情况仅仅是因为生产者正在询问有关它要写入的主题的元数据,但是该主题在集群中不存在,并且分区负责人(生产者要写入的位置)还不存在。 如果重试,则代理将创建主题,该命令将正常运行。

如果上述配置设置为false,则代理不会根据客户端的第一个请求自动创建主题,因此您必须先创建主题。

最后,但这不是您的情况,当主题存在时,甚至可能会发生上述错误,例如,作为特定主题分区的领导者的经纪人已经关闭,新的领导者选举正在进行中。

答案 1 :(得分:0)

我想添加评论,但似乎无法。只需通过此链接。有人遇到了类似的问题,看来问题不是您所做的,而是可能有所不同。

链接:https://grokbase.com/t/kafka/users/134qvay38q/leadernotavailable-exception