Python 2.7 无法向远程卡夫卡发送消息
我正在尝试连接到远程Kafka服务器,但无法传递SimpleClient错误。卡夫卡服务器已在运行,并且已经为我的设备创建了卡夫卡主题。在给卡夫卡写信之前,我是否需要设置其他内容Python 2.7 无法向远程卡夫卡发送消息,python-2.7,apache-kafka,kafka-producer-api,Python 2.7,Apache Kafka,Kafka Producer Api,我正在尝试连接到远程Kafka服务器,但无法传递SimpleClient错误。卡夫卡服务器已在运行,并且已经为我的设备创建了卡夫卡主题。在给卡夫卡写信之前,我是否需要设置其他内容 from kafka import SimpleProducer, SimpleClient kafka = SimpleClient(hosts=["XX.XX.XXX.XXX:2181"]) # remote Ip:port producer = SimpleProducer(kafka) topic = "tes
from kafka import SimpleProducer, SimpleClient
kafka = SimpleClient(hosts=["XX.XX.XXX.XXX:2181"]) # remote Ip:port
producer = SimpleProducer(kafka)
topic = "testTopic"
producer.send_messages(topic,"Test message")
以下是错误:
Traceback (most recent call last):
File "C:/Users/..../kafkaProducer.py", line 6, in <module>
client = SimpleClient(hosts=["xxx:2181"])
File "C:\Python27\lib\site-packages\kafka\client.py", line 57, in __init__
self.load_metadata_for_topics() # bootstrap with all metadata
File "C:\Python27\lib\site-packages\kafka\client.py", line 531, in load_metadata_for_topics
resp = self.send_metadata_request(topics)
File "C:\Python27\lib\site-packages\kafka\client.py", line 596, in send_metadata_request
return self._send_broker_unaware_request(payloads, encoder, decoder)
File "C:\Python27\lib\site-packages\kafka\client.py", line 186, in _send_broker_unaware_request
raise KafkaUnavailableError('All servers failed to process request: %s' % hosts)
kafka.errors.KafkaUnavailableError: KafkaUnavailableError: All servers failed to process request: [('XX.XX.XX.162', 2181, 0)]
看起来卡夫卡没有在那个系统上运行。我不熟悉这个Python客户端,但是你确定要连接到2181,因为那是zookeeper端口。你确定你不想要9092卡夫卡港吗?汉斯和阿坎皮恩:你们都是对的。当我运行这个脚本时,Kafka没有运行,端口应该是9092。
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers=["XX.XX.XXX.XXX:9092"]) # remote Ip:port
topic = "testTopic"
producer.send(topic,"Test message")