kafka要等一段时间才能消费到数据

为什么用python写的kafka客户端脚本,程序一运行就能生产数据,而要等一段时间才能消费到数据(topic里面有数据)。(pykafka和confluentKafka都一样)

只有极少的概率立刻可以消费到数据,大多数都要等个几分钟,很影响测试效率。

  • 自己封装的一个给予confluentKafka的consumer对象

图片描述

  • 调用,topic里面是有内容的等一段时间也是可以消费到数据的

图片描述

阅读 14.7k
5 个回答

几分钟不应该啊,能把代码贴下么

你在实例化consumer对象的时候加这样两个参数session_timeout_ms=6000,heartbeat_interval_ms=2000

consumer = KafkaConsumer(self.kafkatopic, group_id = self.groupid,
                                      bootstrap_servers = '{kafka_host}:{kafka_port}'.format(
            kafka_host=self.kafkaHost,
            kafka_port=self.kafkaPort
            ),
                                      session_timeout_ms=6000,
                                      heartbeat_interval_ms=2000)

官网里有参数的解释https://kafka-python.readthed...
主要是这句话:“ If no heartbeats are received by the broker before the expiration of this session timeout, then the broker will remove this consumer from the group and initiate a rebalance.”
另外本机的session_timeout_ms默认值我的是30s,不是官网里说的10s!

新手上路,请多包涵

请问,您的问题解决了吗?我消费kafka数据的时候,遍历消息,就没反应。能帮忙解决吗?

新手上路,请多包涵

您好 您的问题解决了么,我遇到和您一样的问题,改了参数没有解决

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏