无法使用pykafka发送消息

Cant send message by using pykafka

我正在使用pykafka,我可以获取主题名称但无法发送消息。我的代码如下所示

client = KafkaClient(hosts='xx.xx.xx.xx:9092')
topic = client.topics['test']
producer = topic.get_sync_producer()
producer.produce(b"message") 

然后我收到此错误消息

raise ProduceFailureError("Delivery report not received after timeout")
pykafka.exceptions.ProduceFailureError: Delivery report not received after timeout 
    broker.id=1
    listeners=PLAINTEXT://localhost:9092 

I am sending to an external IP message

如果您正在设置 hosts=some.external.IP:9092,那么您需要使用 advertised.listeners=PLAINTEXT://some.external.IP:9092 编辑 Kafka 属性并使 listeners=PLAINTEXT://:9092 监听外部接口。

列出主题使用不同的协议,这就是它工作正常的原因。