Python 2.7 无法向远程卡夫卡发送消息

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

我正在尝试连接到远程Kafka服务器,但无法传递SimpleClient错误。卡夫卡服务器已在运行,并且已经为我的设备创建了卡夫卡主题。在给卡夫卡写信之前,我是否需要设置其他内容

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")