我在单个节点上运行了Kafka v1.0.1,并且能够将消息推送到主题,但是不知何故无法使用下面的python代码使用来自另一个节点的消息。
from kafka import KafkaConsumer
consumer = KafkaConsumer(
'kotak-test',
bootstrap_servers=['kmblhdpedge:9092'],
auto offset reset='earliest',
enable auto commit=True,
group id=' test1',
value_deserializer-lambda x: loads (x.decode('utf-8')))
for message in consumer:
message = message.value
print (message)
我不断使用以下命令从控制台推送消息:
bin/kafka-console-producer --zookeeper <zookeeper-node>:<port> --topic <topic_name>
我也可以通过控制台阅读
答案 0 :(得分:0)
您使用的是旧的Zookeeper生产者,但使用的是新的基于Kafka的Consumer。这些如何工作和存储偏移量的逻辑并不相同。
您需要在Console Producer上使用--broker-list
与控制台使用者类似,使用--bootstrap-server
,而不是--zookeeper
此外,这些属性中不能包含空格
auto offset reset='earliest',
enable auto commit=True,
group id=' test1',