kafka多分区消费问题

傲月 发表于: 2018-01-22   最后更新时间: 2018-01-22 17:42:06   6,096 游览

kafka多线程消费多分区数据时,刚开始每个线程消费各分区的数据都是正常的,但运行了一段时间后,其中一个分区的数据就没有被消费了,用命令查看lag,在持续增长. 另外kafka的日志和订阅代码的日志,都没有任何异常.

消费的代码和您教程中的示例是一样的.

麻烦问下,有没有遇到过这种情况,或有没有解决的思路...

发表于 2018-01-22
添加评论

同样的问题 什么状态都是正常的 就是某个分区 偶尔 就不消费了

我的情况差不多,八个分区数,七个新消费者去监听,然而分区数0和1被一个消费者监听,导致这台机子数据量剧增,数据一直堆积,根本消费不动

半兽人 -> 花开那年 2年前

1个分区消费2个是kafka正常逻辑,并且不会随便改变(长连接)。

你在启动一个消费者,这样8对8,是不是就解决了你的问题。

先查询下集群的状态:kafka命令大全:https://www.orchome.com/454
是否是始终没人消费,还是过一段时间就会消费?

傲月 -> 半兽人 6年前

持续6个多小时都没有被消费,因为是线上环境,后来就重新设置了offset后,又开始消费了.

傲月 -> 半兽人 6年前

有没有可能是生产速度大于了消费速度?
如果是这样,有没有什么办法,让每个分区消费消费时轮询订阅?

半兽人 -> 傲月 6年前

不会的。生产大于消费者速度是正常的。

半兽人 -> 傲月 6年前

没有用异常信息。

我也遇到同样的问题, 消费非常慢, 我设置五个分区,其中有两个分区很慢,我尝试换了物理机,问题任然存在

半兽人 -> Leon 3年前

应该是多线程写的有问题,你可以用最原始的java程序进行消费,不要改动任何代码。
参见:kafka消费者Java客户端

你的答案

查看kafka相关的其他问题或提一个您自己的问题