Python Hortonworks中的Apache kafka错误

Python Hortonworks中的Apache kafka错误,python,apache-kafka,kafka-producer-api,Python,Apache Kafka,Kafka Producer Api,我是卡夫卡新手,我只是在Hortonworks沙盒中尝试一个示例程序。 下面是一个错误。任何帮助都将不胜感激 from kafka import KafkaProducer from kafka.errors import KafkaError producer = KafkaProducer(bootstrap_servers=['sandbox.hortonworks.com:9092']) topic = "kafkatopic" producer.send(topic, b'test

我是卡夫卡新手,我只是在Hortonworks沙盒中尝试一个示例程序。 下面是一个错误。任何帮助都将不胜感激

from kafka import KafkaProducer
from kafka.errors import KafkaError

producer = KafkaProducer(bootstrap_servers=['sandbox.hortonworks.com:9092'])
topic = "kafkatopic"

producer.send(topic, b'test message')
错误:
回溯(最近一次呼叫最后一次):
文件“kaf_prod.py”,第4行,在
producer=KafkaProducer(引导服务器=['sandbox.hortonworks.com:9092']
文件“/usr/lib/python2.6/site packages/kafka/producer/kafka.py”,第334行,在__
**self.config)
文件“/usr/lib/python2.6/site packages/kafka/client_async.py”,第204行,在__
self.config['api\u version']=self.check\u version(超时=检查超时)
文件“/usr/lib/python2.6/site packages/kafka/client_async.py”,第795行,检查版本
引发错误。NoBrokersAvailable()
kafka.errors.NoBrokersAvailable:NoBrokersAvailable

要探索卡夫卡,您可以直接下载ApacheKafka并在本地运行

请点击以下链接

下载

快速启动

听起来您无法访问sandbox.hortonworks.com:9092上的卡夫卡经纪人。我建议将您的沙盒虚拟机的ip添加到主机文件中,以便它能够解析沙盒。hortonworks.com

Kafka broker端口在hortonworks中是6667,而不是9092。试着改变

制作人= KafkaProducer(引导服务器=['sandbox.hortonworks.com:9092']

制作人= KafkaProducer(引导服务器=['sandbox.hortonworks.com:6667']


您是在沙箱中还是在您的计算机上运行此代码?如果是后者,那么问题可能是sandbox.hortonworks.com无法从沙盒外部解决。
Traceback (most recent call last):
  File "kaf_prod.py", line 4, in <module>
  producer = KafkaProducer(bootstrap_servers=['sandbox.hortonworks.com:9092'])
  File "/usr/lib/python2.6/site-packages/kafka/producer/kafka.py", line 334, in __init__
**self.config)
  File "/usr/lib/python2.6/site-packages/kafka/client_async.py", line 204, in __init__
self.config['api_version'] = self.check_version(timeout=check_timeout)
  File "/usr/lib/python2.6/site-packages/kafka/client_async.py", line 795, in check_version
raise Errors.NoBrokersAvailable()
kafka.errors.NoBrokersAvailable: NoBrokersAvailable