打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Kafka 读取不到数据,没有报错信息

 现象:

         kafka写入和消费一切正常情况,通过一段时间的运行,偶尔发现取不到数据;最后查看kafka消费情况,发现有阻塞。

解决:

1、确认kafka运行情况,是否有堵塞

/kafka/bin/目录下执行

./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper=localhost2181 --group=0

被网上一些代码片段坑骗  ~~~~(>_<)~~~~  

2、检查代码

    我出现的问题,经过确认后发现,所有topic 的group.id都是一样的名称

3、 不同的topic 设置不同的group.id

 Consumers

    本质上kafka只支持Topic.每个consumer属于一个consumer group;反过来说,每个group中可以有多个consumer.发送到Topic的消息,只会被订阅此Topic的每个group中的一个consumer消费.

    如果所有的consumer都具有相同的group,这种情况和queue模式很像;消息将会在consumers之间负载均衡.

    如果所有的consumer都具有不同的group,那这就是"发布-订阅";消息将会广播给所有的消费者.

    在kafka中,一个partition中的消息只会被group中的一个consumer消费;每个group中consumer消息消费互相独立;我们可以认为一个group是一个"订阅"者,一个Topic中的每个partions,只会被一个"订阅者"中的一个consumer消费,不过一个consumer可以消费多个partitions中的消息.kafka只能保证一个partition中的消息被某个consumer消费时,消息是顺序的.事实上,从Topic角度来说,消息仍不是有序的.

    kafka的设计原理决定,对于一个topic,同一个group中不能有多于partitions个数的consumer同时消费,否则将意味着某些consumer将无法得到消息.

所以不用在乎consumer的多少,要保证consumer的消费来至同一个订阅者,也就是一个consumer对应一个group;如果多个consumer来同时设置同一个group,是取不到数据的;

    group.id 是自定义的。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Kafka/Metaq设计思想学习笔记
kafka主题和分区的概念
Kafka史上最详细原理总结
Kafka官方文档翻译——简介
kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
Kafka使用进阶
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服