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

Posted oxspirt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[转]kafka要等一段时间才能消费到数据相关的知识,希望对你有一定的参考价值。

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

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

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

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

技术图片

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

技术图片

阅读 4.8k
评论 更新于 2018-06-19
 
技术图片
5 个回答
技术图片WANSX
  •  8

https://stackoverflow.com/que... 最下面的回答,注意conf中session.timeout.ms参数的设置。

评论 赞赏 2018-04-05
技术图片skyarthur
  •  1.1k

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

评论 赞赏 2018-04-05
    • skyarthur: 

      ok

       回复 2018-04-05
    • WANSX: 

      session.timeout.ms设置的太大了,导致了这个原因,感谢回答!

       回复 2018-04-05
技术图片谷雨
  •  1
  • 新手请关照

你在实例化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!

评论 赞赏 2018-06-19
  • 阳光筱帅: 

    更改了参数还是会出现这样的问题

以上是关于[转]kafka要等一段时间才能消费到数据的主要内容,如果未能解决你的问题,请参考以下文章

Kafka三款监控工具比较(转)

转 kafka 清理数据

Flink实战系列Flink 1.14.0 消费 kafka 数据自定义反序列化器

前端用iframe要等待很长一段时间有啥解决方案吗?

Kafka的安装与使用(转)

Kafka-文件管理