Python 让简单的卡夫卡制作人走起来有困难
我在Mac Pro(Sierra;10.12.6)上本地运行Kafka只是为了开始开发。我启动了ZooKeeper和Kafka服务器(0.11.0.1): 我已经创建了以下主题:Python 让简单的卡夫卡制作人走起来有困难,python,apache-kafka,kafka-python,Python,Apache Kafka,Kafka Python,我在Mac Pro(Sierra;10.12.6)上本地运行Kafka只是为了开始开发。我启动了ZooKeeper和Kafka服务器(0.11.0.1): 我已经创建了以下主题: bin/kafka-topics.sh --list --zookeeper localhost:2181 __consumer_offsets access my-topic (不确定消费者补偿是什么,我创建了另外两个) 我已经安装了kafka python(1.3.4)。 我的示例程序非常简单: from kaf
bin/kafka-topics.sh --list --zookeeper localhost:2181
__consumer_offsets
access
my-topic
(不确定消费者补偿是什么,我创建了另外两个)
我已经安装了kafka python(1.3.4)。
我的示例程序非常简单:
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
producer.send('my-topic', 'Another message')
但它发出了以下信息:
Traceback (most recent call last):
File "produce.py", line 3, in <module>
producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
File "/Library/Python/2.7/site-packages/kafka/producer/kafka.py", line 347, in __init__
**self.config)
File "/Library/Python/2.7/site-packages/kafka/client_async.py", line 220, in __init__
self.config['api_version'] = self.check_version(timeout=check_timeout)
File "/Library/Python/2.7/site-packages/kafka/client_async.py", line 861, in check_version
raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable
回溯(最近一次呼叫最后一次):
文件“product.py”,第3行,在
producer=KafkaProducer(引导服务器=['localhost:9092'])
文件“/Library/Python/2.7/site packages/kafka/producer/kafka.py”,第347行,在__
**self.config)
文件“/Library/Python/2.7/site packages/kafka/client_async.py”,第220行,在u init中__
self.config['api\u version']=self.check\u version(超时=检查超时)
文件“/Library/Python/2.7/site packages/kafka/client_async.py”,第861行,检查版本
引发错误。NoBrokersAvailable()
kafka.errors.NoBrokersAvailable:NoBrokersAvailable
想法?感谢您的帮助。请确保您已在server.config文件中定义了设置
advised.listeners=PLAINTEXT://your.host.name:9092
可能是主机名解析提供了其他主机名,默认情况下Kafka使用
java.net.InetAddress.getCanonicalHostName()
如果您使用的是wurstmeister/Kafka,请注意,在Kafka的最新版本中,许多参数已被弃用。
而不是使用-
卡夫卡大学主持人:
卡夫卡港:9092
卡夫卡大学广告主持人姓名:
卡夫卡港:9092
你需要使用-
卡夫卡的听众:纯文本://:9092
卡夫卡听众:纯文本://:9092
查看更多详细信息您是否尝试了我的建议,或者您可以分享解决问题的方法…是的-只需更改配置文件即可。谢谢你能检查一下卡夫卡经纪人是否真的以9092的价格运行吗。尝试运行
kafka-console-producer.sh--broker list localhost-9092--topic my topic
,查看代理实例是否真的在运行。您还可以在运行kafka start时查看日志,以查看在哪个端口和url上运行kafka实例。
Traceback (most recent call last):
File "produce.py", line 3, in <module>
producer = KafkaProducer(bootstrap_servers=['localhost:9092'])
File "/Library/Python/2.7/site-packages/kafka/producer/kafka.py", line 347, in __init__
**self.config)
File "/Library/Python/2.7/site-packages/kafka/client_async.py", line 220, in __init__
self.config['api_version'] = self.check_version(timeout=check_timeout)
File "/Library/Python/2.7/site-packages/kafka/client_async.py", line 861, in check_version
raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable