当官方控制台消费者正常工作时,汇合的kafka python Consumer.poll() 总是返回 None

Jay*_*Jay 7 python apache-kafka kafka-consumer-api confluent-platform

当设置超时调用时,confluence-kafka python 客户端的实例Consumer始终返回 None 。poll()

该主题确实包含一些消息,并且官方控制台消费者工作正常:

$ vim ~/client.properties

security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username=XXXXXXXXXX password="XXXXXXXXXX";

$ ~/kafka_2.13-2.4.0/bin/kafka-console-consumer.sh --topic my_topic --bootstrap-server somehost.:30742 --from-beginning --consumer.config ~/client.properties --group somenewgroup
msg1
msg2
msg3
Run Code Online (Sandbox Code Playgroud)

Consumer.poll()方法总是返回 None。即使当我将密码或主机更改为无效值时,它也会返回 None 。

我为消费者设置了一个记录器,但没有记录任何内容。

python代码如下

consumer=Consumer({'sasl.mechanisms': "SCRAM-SHA-512",
                   'security.protocol': 'SASL_PLAINTEXT',
                   'sasl.username': 'XXXXXXXXXX',
                   'sasl.password': 'XXXXXXXXXX',
                   'bootstrap.servers': 'somehost.:30742',
                   "group.id":"somenewgroup",
                   'auto.offset.reset': 'beginning',
                   'logger':logger
                   },logger=logger)

consumer.subscribe(["my_topic"])

while True:
    msg = consumer.poll(timeout=1.0)
    print("poll success")
    if msg is None:print("msg is None!")
Run Code Online (Sandbox Code Playgroud)