kafka消费者没有指定分区(kafka中partition和消费者对应关系)
kafka消费者没有指定分区(kafka中partition和消费者对应关系)
2024-11-22 05:46:52  作者:刺芯疚  网址:https://m.xinb2b.cn/sport/vzo357325.html

1个partition只能被同组的一个consumer消费,同组的consumer则起到均衡效果

消费者多于partition

topic: test 只有一个partition

创建一个topic——test,

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

在g2组中启动两个consumer,

1. bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer.config config/consumer_g2.properties2. bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer.config config/consumer_g2.properties

消费者数量为2大于partition数量1,此时partition和消费者进程对应关系如下:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group g2TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest 0 9 9 0 consumer-1-4a2a4aa8-32f4-4904-9c16-1c0bdf7128a2 /127.0.0.1 consumer-1- - - - - consumer-1-fd7b120f-fd21-4e07-8c23-87b71c1ee8a5 /127.0.0.1 consumer-1

消费者consumer-1-fd7b120f-fd21-4e07-8c23-87b71c1ee8a5无对应的partition。

用图表示为


生产者消费者对应关系1.jpg

如上图,向test发送消息:1,2, 3,4,5,6,7,8,9

只有C1能接收到消息,C2则不能接收到消息,即同一个partition内的消息只能被同一个组中的一个consumer消费。当消费者数量多于partition的数量时,多余的消费者空闲。

也就是说如果只有一个partition你在同一组启动多少个consumer都没用,partition的数量决定了此topic在同一组中被可被均衡的程度,例如partition=4,则可在同一组中被最多4个consumer均衡消费。消费者少于和等于partition

topic:test2包含3个partition

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic test2

开始时,在g3组中启动2个consumer,

1.bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g3.properties2.bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g3.properties

则对应关系如下:

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest2 0 8 8 0 consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c /127.0.0.1 consumer-1test2 1 7 7 0 consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c /127.0.0.1 consumer-1test2 2 8 8 0 consumer-1-f362847d-1094-4895-ad8b-1e1f1c88936c /127.0.0.1 consumer-1

其中,consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c对应了2个partition

用图表示为:


生产者消费者对应关系2.jpg

消费者数量2小于partition的数量3,此时,向test2发送消息1,2,3,4,5,6,7,8,9

C1接收到1,3,4,6,7,9

C2接收到2,5,8

此时P1、P2对对应C1,即多个partition对应一个消费者,C1接收到消息量是C2的两倍

然后,在g3组中再启动一个消费者,使得消费者数量为3等于topic2中partition的数量3.bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g3.properties

对应关系如下:

TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest2 0 8 8 0 consumer-1-8b872ef7-a2f0-4bd3-b2a8-7b26e4d8ab2c /127.0.0.1 consumer-1test2 1 7 7 0 consumer-1-ab472ed5-de11-4e56-863a-67bf3a3cc36a /127.0.0.1 consumer-1test2 2 8 8 0 consumer-1-f362847d-1094-4895-ad8b-1e1f1c88936c /127.0.0.1 consumer-1

此时,partition和消费者是一对一关系,向test2发送消息1,2,3,4,5,6,7,8,9

C1接收到了:2,5,8

C2接收到了:3,6,9

C3接收到了:1,4,7

C1,C2,C3均分了test2的所有消息,即消息在同一个组之间的消费者之间均分了!

多个消费者组

启动g4组,仅包含一个消费者C1,消费topic2的消息,此时消费端有两个消费者组

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning --consumer.config config/consumer_g4.properties --delete-consumer-offsets

g4组的C1的对应了test2的所有partition:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group g4TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-IDtest2 0 36 36 0 consumer-1-befc9234-260d-4ad3-b283-b67a2bf446ca /127.0.0.1 consumer-1test2 1 35 35 0 consumer-1-befc9234-260d-4ad3-b283-b67a2bf446ca /127.0.0.1 consumer-1test2 2 36 36 0 consumer-1-befc9234-260d-4ad3-b283-b67a2bf446ca /127.0.0.1 consumer-1

用图表示为


生产者消费者对应关系3.jpg

如上图,向test2发送消息1,2,3,4,5,6,7,8,9

那么g3组各个消费者及g4组的消费者接收到的消息是怎样地呢?欢迎思考!!

答案:

消息被g3组的消费者均分,g4组的消费者在接收到了所有的消息。

g3组:

C1接收到了:2,5,8

C2接收到了:3,6,9

C3接收到了:1,4,7

g4组:

C1接收到了:1,2,3,4,5,6,7,8,9

启动多个组,则会使同一个消息被消费多次。

  • 手抓羊肉饭各种做法(香气扑鼻的羊肉手抓饭)
  • 2024-11-22香气扑鼻的羊肉手抓饭中国每个地区都有不同特色的美食,今天就带大家了解一下新疆的特色美食——手抓饭新疆的朋友视抓饭为美食的上品,所以做出来的抓饭不仅开创了地方特色美食的先河,而且手抓饭做出来也异常的美味手抓饭的做法其实还是。
  • 再别康桥最后一句的意境(一日一诗再别康桥赏析)
  • 2024-11-22一日一诗再别康桥赏析再别康桥徐志摩轻轻的我走了,正如我轻轻的来;我轻轻的招手,作别西天的云彩那河畔的金柳,是夕阳中的新娘;波光里的艳影,在我的心头荡漾软泥上的青荇,油油的在水底招摇;在康河的柔波里,我甘心做一条水草!那榆。
  • 成都考低压电工上岗证(成都低压电工证怎么考)
  • 2024-11-22成都低压电工证怎么考低压电工是指从事1000伏以下的工作,例如:“设备安装电工、设备维修电工、线路维修电工、装配电工、值班电工、家装电工、工装电工等等”电工证是由安监局进行颁发的正规证书,证书全国通用要想从事电工这个工作。
  • 第12周收录89起融资(第12周收录89起融资)
  • 2024-11-22第12周收录89起融资(本文为钛媒体Pro(专业版)用户专享)掌握本周资本流向,看潜在投资家本周潜在收录投融资事件有89起,其中国内54起,国外35起本文为简版,详细版全文,请点击:http://www.tmtpost.c。
  • 猫咪总喜欢来被子里睡觉是为什么(猫咪喜欢在主人身边睡觉)
  • 2024-11-22猫咪喜欢在主人身边睡觉不知道你有没有发现,猫咪很喜欢睡在主人身边?为什么呢?其实猫咪喜欢在主人身边睡觉,一般是因为这些原因!1、猫咪喜欢在主人身边睡觉,其实是因为它认为这是它的床在猫咪的世界里,主人并不是主人,只是它的猫奴。
  • 电视后墙安装效果图(30款电视上墙效果图)
  • 2024-11-2230款电视上墙效果图时代进步的同时,家具和加点也在改头换面,从之前笨重的大头电视换成了现在轻薄的液晶电视,大部分家庭也是选择电视挂上墙,看起来更加干净整洁,也不会有太过拥挤的感觉,特别适合小户型的装修图文来源于网络,贵在。
  • 三星手写笔壹号本能用吗(关于wacomonedtc133数位笔在三星)
  • 2024-11-22关于wacomonedtc133数位笔在三星由于是第一次写图文,可能会有一些不足的地方,请见谅关于买这支笔的原因嘛,就是S6原装的笔设计实在是太非人性化了,过扁的笔身还有超级短的笔头实在是忍受不了了,可倾斜角度极其有限,加上在平板上贴了类纸膜之。
  • 摩旅攻略西安出发(缤纷五一会玩西安摩友集结)
  • 2024-11-22缤纷五一会玩西安摩友集结骑行,是一种生活态度是桀骜不羁,是释放自我骑行,不止是体验速度与激情更能开阔视野,发现美景骑行,可以是一个人的独处也可以是一群人的欢乐趁着“五一”小长假快一起骑上心爱的小摩托打卡西安最美骑行线路新手路。
  • 大连和沈阳哪个适合打拼(还是去大连发展)
  • 2024-11-22还是去大连发展大连和沈阳两座兄弟城市,很多人都非常喜欢,这不最近很多的学子们刚刚经历了高考,现在正在纠结,究竟是选择填报志愿是定居沈阳?还是去大连发展好呢?下面我们就来全面地分析以下两座城市,对比一下他们的优势与劣。
  • 张嘉译出演的所有电视剧名 张嘉译饰演农民马喊水
  • 2024-11-22张嘉译出演的所有电视剧名 张嘉译饰演农民马喊水最近两天,小社身边的七大姑八大姨都被《山海情》这部剧圈粉了,不知道你看了吗?正午阳光出品的这部扶贫剧,由口碑特别好的导演孔笙执导,实力派演员闫妮、张嘉益、黄轩主演,以福建对口扶贫宁夏西海固的真实历史为。
  • 亲爱的热爱的经典台词(影评亲爱的热爱的)
  • 2024-11-22影评亲爱的热爱的不知道从什么时候起,就不怎么喜欢看那种偶像爱情剧了,也不知道为什么就是觉得提不起兴趣,或许对于一个30+的老阿姨来说,已经过了追泡沫爱情剧的年纪了但是有一部软萌萝莉配高冷大叔的高甜都市爱情喜剧却让我一。
  • 择天记里的鹿晗叫什么名?择天记鹿晗带领的少年团
  • 2024-11-22择天记里的鹿晗叫什么名?择天记鹿晗带领的少年团《择天记》马上就要落幕了,我也想趁剧终前,说说我心里一直以来的一个想法那就是:你们有木有觉得,鹿晗带领的少年团,很像《名侦探柯南》里的少年侦探团?很多人可能不解,那就听我一一道来逆天改命的陈长生VS深。