【问题标题】:No Brokers Available error when trying to connect to Kafka尝试连接到 Kafka 时没有可用的代理错误
【发布时间】:2016-08-04 21:28:21
【问题描述】:

在 CentOS 上尝试使用 Python 客户端本地连接到 Kafka 0.10.0.0 时,我遇到了一个非常奇怪的问题。

我的连接选项非常简单且默认:

kafka_consumer = kafka.KafkaConsumer(
        bootstrap_servers=['localhost:9092'],
        client_id="python-test-consumer"
    )

当我在 Kafka 的 server.properties 文件中手动设置 listeners 选项时:

listeners=PLAINTEXT://localhost:9092

我得到了 kafka.errors.NoBrokersAvailable,尽管我仍然可以使用 curl 或其他 linux 工具轻松连接到 Kafka 代理服务器。

没有 advertised.listeners 或其他已弃用的广告选项有助于解决问题。因此,唯一有效的配置状态是没有监听器的状态。这肯定是不可接受的,因为我们需要以某种方式设置本地集群。

似乎这个愚蠢问题的解决方案很简单,并且正在琢磨,但我们自己无法弄清楚。

【问题讨论】:

标签: apache-kafka kafka-python


【解决方案1】:

这听起来可能很傻,但正是因为这个原因,我遇到了完全相同的问题:

我通过 brew(Mac 包管理器)升级到 Kafka 0.10.0.0。 Brew 然后建议像这样运行:

$ zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties; kafka-server-start /usr/local/etc/kafka/server.properties

而不是我之前的执行方式:

$ zkServer start
$ kafka-server-start /usr/local/etc/kafka/server.properties

建议的方法不断在客户端中抛出“没有可用的代理”错误。然后我只是将命令分成两行:

$ zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties
$ kafka-server-start /usr/local/etc/kafka/server.properties

一切都像以前一样工作!

对不起,如果这对你不起作用,但我认为值得一提。

【讨论】:

  • 您知道任何适用于 Windows 的解决方案吗?
  • 对不起@SteffiKeranRaniJ,我不知道。
  • 好的@马克西米利亚诺
  • @MaximilianoGuerra 经过一天多的努力,这终于帮助我站起来跑步了!非常感谢。
猜你喜欢
  • 2018-01-22
  • 2013-04-17
  • 2021-07-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 2018-08-27
  • 1970-01-01
  • 2017-12-27
相关资源
最近更新 更多