python - 卡夫卡消费者不阅读消息
问题描述
我在单个节点上运行 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>
我也可以通过控制台阅读
解决方案
您使用的是旧的基于 Zookeeper 的生产者,但使用的是较新的基于 Kafka 的消费者。这些工作和存储偏移量的逻辑是不一样的。
您需要--broker-list
在 Console Producer 上使用
与控制台消费者类似,使用--bootstrap-server
,而不是--zookeeper
此外,这些属性中不应有空格
auto offset reset='earliest',
enable auto commit=True,
group id=' test1',
推荐阅读
- java - Mockito 未能在 SpringBoot 中模拟接口类
- java - 我如何通过junits中的参数中的课程?
- python - 正则表达式/替换 Python 中的文本问题
- docker - 在 Kubernetes 上部署 tacacs+
- python - 如何在 Python Pandas 中处理 JSON 对象的动态模式
- java - 数据流单元测试
- oauth-2.0 - 我需要来自 r_liteprofile 的 vanityName
- php - 如何在 PHP 中轻松访问 XML 节点的信息
- python - 如果它在python中包含\ u,则删除字符串中的单词?
- python - 如何使用 Python 根据条件在终端中隐藏 bash 输出