【问题标题】:Error while fetching metadata kafka {test=LEADER_NOT_AVAILABLE}?获取元数据 kafka {test=LEADER_NOT_AVAILABLE} 时出错?
【发布时间】:2022-04-05 17:26:32
【问题描述】:

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

我启动了 Zookeeper 和 Kafka 服务器,

我执行命令:

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

并执行命令:

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

我获得了一个警告列表,例如:

[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)

我做错了什么? 谢谢

【问题讨论】:

  • 你能分享一下-./kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic test的输出吗

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


【解决方案1】:

如果您的代理将 auto.create.topics.enable 设置为 true,则此错误将是暂时的,您应该能够生成消息而不会出现任何进一步的错误。 发生这种情况只是因为生产者正在询问有关它想要写入的主题的元数据,但该主题在集群中不存在并且分区领导者(生产者想要写入的地方)还不存在。 如果您重试,代理将创建主题并且命令将正常工作。

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

最后,但不是你的情况,当主题存在时甚至可能发生上述错误,例如,作为特定主题分区领导者的代理已关闭并且正在进行新的领导者选举。

【讨论】:

  • 如何将 auto.create.topics.enable 设置为 true?谢谢
  • 你必须在代理的 server.properties 配置文件中设置它。请参阅 Kafka 文档:kafka.apache.org/documentation
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    我想这不会是一个非常常见的问题,但是我在嵌入式 Kafka 中遇到了“LEADER_NOT_AVAILABLE”错误,并且无法弄清楚测试中出了什么问题。事实证明,测试没问题——它是被测试的代码,它试图发送到"topicName",而不是变量topicName

    【讨论】:

      猜你喜欢
      • 2016-10-20
      • 2019-10-06
      • 2020-12-27
      • 2020-01-05
      • 1970-01-01
      • 2017-02-04
      • 2018-03-01
      • 2020-07-21
      • 2020-05-15
      相关资源
      最近更新 更多