当前位置: 首页 > 知识库问答 >
问题:

NoBroker可用:NoBroker可用-Kafka错误

逑衡
2023-03-14

我已经开始学习Kafka了。在上面尝试基本的操作。我坚持了一个关于“经纪人”的观点。

我的kafka正在运行,但当我想创建分区时。

 from kafka import TopicPartition
(ERROR THERE) consumer = KafkaConsumer(bootstrap_servers='localhost:1234')
 consumer.assign([TopicPartition('foobar', 2)])
 msg = next(consumer)

traceback(最近一次调用):文件“”,第1行,在文件“/usr/local/lib/python2.7/dist-packages/kafka/consumer/group.py”,第284行,在init self中_client=KafkaClient(metrics=self._metrics,**self.config)文件“/usr/local/lib/python2.7/dist-packages/kafka/client_async.py”,第202行,在init self中。config['api_version']=自身。check_version(timeout=check_timeout)文件“/usr/local/lib/python2.7/dist packages/kafka/client_async.py”,第791行,check_versionraiseErrors。NoBrokersAvailable()kafka.errors。无经纪人可用:无经纪人可用

共有3个答案

程和煦
2023-03-14

对我来说,问题在于我在谷歌云上运行Kafka时的防火墙规则。

它昨天对我有效,今天我挠头一个小时思考为什么它不再有效了。

由于每次连接到不同的LAN或WiFi时,我的本地系统的公共IP地址都会发生变化,因此我必须在防火墙规则中允许本地系统的公用IP。我建议使用具有固定公共IP的连接,或在切换/更改连接时检查此连接。

配置中的这些小更改需要太多时间来调试和修复它们。感觉浪费了一个小时。

向弘懿
2023-03-14

您不能在消费者中创建分区。创建主题时会创建分区。例如,使用命令行工具:

bin/kafka-topics.sh \
  --zookeeper localhost:2181 \
  --create --topic myNewTopic \
  --partitions 10 \
  --replication-factor 3

这将创建一个具有10个分区(编号从0到9)和复制因子3的新主题“myNewTopic”。(参见http://docs.confluent.io/3.0.0/kafka/post-deployment.html#admin-operations和https://kafka.apache.org/documentation.html#quickstart_createtopic)

在你的消费者中,如果你调用 assign(),这意味着你想要使用相应的分区,并且这个分区必须已经存在。

包兴思
2023-03-14

我在kafka流媒体时也犯了同样的错误。下面的代码解决了我的错误:我们需要在KafkaProducer中定义API版本。

KafkaProducer(bootstrap_servers=['localhost:9092'],
              api_version=(0,11,5),
              value_serializer=lambda x: dumps(x).encode('utf-8'))
 类似资料:
  • 我在Windows子系统Linux上安装了kafka,并开始使用命令服务启动,所有服务都已启动。现在,当我尝试从Windows运行我的kafka-spring应用程序时,它显示以下错误:- 无法建立与节点-1(localhost/127.0.0.1:9092)的连接。经纪人可能不可用。 我的服务器属性是:- 我哪里出错了???

  • 本文向大家介绍kafka高可用原理?相关面试题,主要包含被问及kafka高可用原理?时的应答技巧和注意事项,需要的朋友参考一下 broker启动会尝试向zookeeper创建临时节点:/controller,第一个broker选举成功成为集群的controller,其余节点都会在/controller注册watcher监控controller状态;当controller挂掉,所有broker感知到

  • 我和我的Kafka制作人遇到了一个奇怪的问题。我使用Kafka-0.11服务器/客户端版本。我有一个zookeper和一个kafka经纪人节点。此外,我还创建了带有3个分区的“事件”主题: 在我的Java代码中,我创建了具有以下属性的producer: 此外,我还向Producer#send()方法添加了一个回调,该方法将失败的消息添加到队列中,该队列由另一个“重新发送”线程在循环中迭代: 一切正

  • 问题内容: 我正在尝试将数据发送到服务器并接收JSON格式的响应。问题是服务器必须返回“成功”或“失败”,但它返回“(空)”。 这是返回的错误: 错误域= NSCocoaErrorDomain代码= 3840“操作无法完成。(可可错误3840。)”(JSON文本不是以数组或对象开头,并且没有允许设置片段的选项。)UserInfo = XXXXXXXXX {NSDebugDescription =

  • 当尝试在 CentOS 上使用 Python 客户端本地连接到 Kafka 0.10.0.0 时,我有一个非常奇怪的问题。 我的连接选项非常简单且默认: 当我在Kafka的服务器中手动设置侦听器选项时。属性文件,如: 我得到了kafka.errors。NoBrokersAvailable,尽管我仍然可以使用curl或其他linux工具轻松连接到Kafka代理服务器。 无广告。侦听器或其他不推荐使用

  • 我在Windows 10机器上配置kafka和spring有问题。 我是根据指南做的,我在YouTube找到的https://www.youtube.com/watch?v=IncG0_XSSBg 我在本地怎么都连接不上 spring应用程序非常简单,其任务只是连接到常备服务器。 我已经花了很多时间寻找解决方案,但什么也帮不了我。我尝试了很多。已将其更改为server . properties l