kafkagroupid(kafkagroupid作用)

本篇文章给大家谈谈kafkagroupid,以及kafkagroupid作用对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

kafka的consumer.properties的group.id到底有什么用

kafka的consumer.properties的group.id到底有什么用,

在kafka分布式集群部署时,消费者的group.id,是否需要和consumer.properties配置的group.id一致。

我两个不同的topic,分别使用两个consumer消费。

其中一个consumer必须设置group.id和consumer.properties配置的group.id一致,才能消费消息。

另一个consumer必须设置group.id和consumer.properties配置的group.id不一致,才能消费消息。

《Apache Kafka源码剖析》以Kafka 0.10.0版本源码为基础,针对Kafka的架构设计到实现细节进行详细阐述。《Apache Kafka源码剖析》共5章,从Kafka的应用场景、源码环境搭建开始逐步深入,不仅介仔大绍Kafka的凳散核心概念,枣戚氏而且对Kafka生产者、消费者、服务端的源码进行深入的剖析,最后介绍Kafka常用的管理脚本实现,让读者不仅从宏观设计上了解Kafka,而且能够深入到Kafka的细节设计之中。

在源码分析的过程中,还穿插了笔者工作积累的经验和对Kafka设计的理解,希望读者可以举一反三,不仅知其然,而且知其所以然。

[img]

kafka如何从头消费历史数据

消费者要从头开始消费某个topic的全量数据,需要满足2个条件(spring-kafka):

(1)使用一个全新的"group.id"(就是之前没有谈中被任何消费者使用过); (2)指定"auto.offset.reset"参含纳山数的值为earliest;

注意:从kafka-0.9版本及以后,kafka的消费者组和offset信息就不存zookeeper了,而是存到broker服务器上,所以茄燃,如果你为某个消费者指定了一个消费者组名称(group.id),那么,一旦这个消费者启动,这个消费者组名和它要消费的那个topic的offset信息就会被记录在broker服务器上。

比如我们为消费者A指定了消费者组(group.id)为fg11,那么可以使用如下命令查看消费者组的消费情况:

bin/kafka-consumer-groups.sh --bootstrap-server 172.17.6.10:9092 --describe --group fg11

在kafka官网可以看到

对于auto.offset.reset的说明,通过在项目中配置选项,同时新建一个groupid就实现了从头开始消费。

auto.offset.reset具体含义:(注意版本不同,配置参数会有所不一致,具体参考官网)

flink1.12版本中使用了flinksql,固定了groupid。但核做并是因为重复上了两个相同任务之后,发现数据消费改迹重复。

下图sink中创建两个相同任务,会消费相胡脊同数据。

两个任务同时处理,并没有在一个consume group里,所以不会共同消费。

kafka groupid何时定义

情况是这样的,袜则旅在我们系统中有多个Consumer的客户端(客户端个数是不确定的,因为在系统工作过程中有的业务节点会脱离,有些业务节点会增加进来),Producer也有多个。但是盯槐Producer发送的消息种类只有一种,所以topic只创告凳建了一个, 消息量很大,所以使用了多个Consumer来处理。现在想实现如下的订阅/推送效果,多个Producer进行消息的推送,例如消息X1、X2、X3、X4、X5.。。。。。。然后由多个Consumer分别进行拉去,Consumer1拉取到:X1、X4、X7。。。Consumer2拉取到:X2、X5、X8.。。。。。。。。如此类推

关于kafkagroupid和kafkagroupid作用的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表