NoBrokersAvailable:NoBrokersAvailable-Kafka 错误 [英] NoBrokersAvailable: NoBrokersAvailable-Kafka Error
问题描述
我已经开始学习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-operations 和 https://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屋!