NoBrokersAvailable:NoBrokersAvailable-Kafka 错误 [英] NoBrokersAvailable: NoBrokersAvailable-Kafka Error

查看:89
本文介绍了NoBrokersAvailable:NoBrokersAvailable-Kafka 错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经开始学习Kafka了.尝试对其进行基本操作.我一直坚持关于经纪人"的观点.

我的 kafka 正在运行,但是当我想创建一个分区时.

 from kafka import TopicPartition(错误)消费者 = KafkaConsumer(bootstrap_servers='localhost:1234')consumer.assign([TopicPartition('foobar', 2)])msg = 下一个(消费者)

<块引用>

回溯(最近一次调用最后一次):文件",第 1 行,在init 中的文件/usr/local/lib/python2.7/dist-packages/kafka/consumer/group.py",第 284 行self._client = KafkaClient(metrics=self._metrics, **self.config)init 中的文件/usr/local/lib/python2.7/dist-packages/kafka/client_async.py",第 202 行self.config['api_version'] = self.check_version(timeout=check_timeout)文件/usr/local/lib/python2.7/dist-packages/kafka/client_async.py",第791行,​​在check_version引发 Errors.NoBrokersAvailable()kafka.errors.NoBrokersAvailable: NoBrokersAvailable

解决方案

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

bin/kafka-topics.sh \--zookeeper 本地主机:2181 \--create --topic myNewTopic \--分区 10 \--复制因子3

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

在你的consumer内,如果你调用assign(),表示你要消费对应的分区,并且这个分区必须已经存在.

i have already started to learn Kafka. Trying basic operations on it. I have stucked on a point which about the 'Brokers'.

My kafka is running but when i want to create a partition.

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

traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/dist-packages/kafka/consumer/group.py", line 284, in init self._client = KafkaClient(metrics=self._metrics, **self.config) File "/usr/local/lib/python2.7/dist-packages/kafka/client_async.py", line 202, in init self.config['api_version'] = self.check_version(timeout=check_timeout) File "/usr/local/lib/python2.7/dist-packages/kafka/client_async.py", line 791, in check_version raise Errors.NoBrokersAvailable() kafka.errors.NoBrokersAvailable: NoBrokersAvailable

解决方案

You cannot create partitions within a consumer. Partitions are created when you create a topic. For example, using command line tool:

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

This creates a new topic "myNewTopic" with 10 partitions (numbered from 0 to 9) and replication factor 3. (see http://docs.confluent.io/3.0.0/kafka/post-deployment.html#admin-operations and https://kafka.apache.org/documentation.html#quickstart_createtopic)

Within your consumer, if you call assign(), it means you want to consume the corresponding partition and this partition must exist already.

这篇关于NoBrokersAvailable:NoBrokersAvailable-Kafka 错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆