Python 无法从卡夫卡主题读/写

Python 无法从卡夫卡主题读/写,python,docker,apache-kafka,kafka-producer-api,kafka-python,Python,Docker,Apache Kafka,Kafka Producer Api,Kafka Python,我在桌面上的容器上运行卡夫卡。 我可以使用一个名为“卡夫卡工具”的工具连接到它,例如,在这里我可以看到我的主题 我对卡夫卡主题的阅读和写作有问题。 让我恼火的是,它不会给我一条错误消息,它的行为就像主题上没有任何消息一样,但它有,我可以看到使用该工具,甚至手动添加了两条消息 该主题存在并有两条消息(我使用此UI手动添加了这两条消息) 问题: 将消息发送到主题的代码运行良好,但消息无法发送到Kafka 从主题中读取消息的代码不读取任何内容。它坐在那里,就像没有信息可读一样。 此外,我可以使用相同的

我在桌面上的容器上运行卡夫卡。 我可以使用一个名为“卡夫卡工具”的工具连接到它,例如,在这里我可以看到我的主题

我对卡夫卡主题的阅读和写作有问题。 让我恼火的是,它不会给我一条错误消息,它的行为就像主题上没有任何消息一样,但它有,我可以看到使用该工具,甚至手动添加了两条消息

该主题存在并有两条消息(我使用此UI手动添加了这两条消息)

问题: 将消息发送到主题的代码运行良好,但消息无法发送到Kafka 从主题中读取消息的代码不读取任何内容。它坐在那里,就像没有信息可读一样。 此外,我可以使用相同的方法列出主题(这表明连接成功)

卡夫卡的版本是2.4。 你知道问题出在哪里吗? 我曾经尝试过“bootstrap_servers=['localhost:9092','kafka server:9092']”,但它也不起作用

谢谢

  • KafkaProducer:您需要在
    发送后执行
    刷新
  • KafkaConsumer:指定
    bootstrap\u服务器
    auto\u offset\u reset

  • 嘿@oldwooki我在消费者身上指定了引导服务器,我试图在生产者身上刷新,但没有帮助。结果是我必须使用端口29092,而不是9092。。。知道为什么吗?我认为9092是最好的default@Diego你想从其他容器访问卡夫卡吗?不,只是从我的本地桌面。但是卡夫卡是在一个容器上运行的,它有两个端口mapped@Diego那是docker配置的问题,而不是python。9092是默认值。。。
    producer.send('testTopic', b'Hello, World!')
    producer.flush()
    
    consumer = KafkaConsumer('testTopic',
                             bootstrap_servers=['localhost:9092'],
                             auto_offset_reset='earliest')
    for message in consumer:
        print(message)