Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用者组成员没有分区。

使用者组成员没有分区。
EN

Stack Overflow用户
提问于 2018-08-06 00:31:31
回答 4查看 1.8K关注 0票数 0

我在同一个消费者组中启动两个消费者,我订阅了20个主题(每个主题只有一个分区)。

只对消费者使用:

kafka-消费者-组-引导-服务器XXXXX:9092 -组foo -描述-成员-详细

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Note: This will not show information about old Zookeeper-based consumers.

CONSUMER-ID                                  HOST            CLIENT-ID       #PARTITIONS     ASSIGNMENT
rdkafka-07cbd673-6a16-4d55-9625-7f0925866540 /xxxxx rdkafka         20              arretsBus(0), capteurMeteo(0), capteurPointMesure(0), chantier(0), coworking(0), horodateur(
0), incident(0), livraison(0), meteo(0), metro(0), parkrelais(0), qair(0), rhdata(0), sensUnique(0), trafic(0), tramway(0), tweets(0), voieRapide(0), zone30(0), zoneRencontre(0)
rdkafka-9a543197-6c97-4213-bd59-cb5a48e4ec15 /xxxx    rdkafka         0 

我做错了什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-08-06 01:51:21

好的,我读了一些关于这种行为的文章,很有趣地知道为什么会发生这种情况。卡夫卡有两种分区分配策略。

  • 范围:Assigns to each consumer a consecutive subset of partitions from each topic it subscribes to. So if consumers C1 and C2 are subscribed to two topics, T1 and T2, and each of the topics has three partitions, then C1 will be assigned partitions 0 and 1 from topics T1 and T2, while C2 will be assigned partition 2 from those topics. Because each topic has an uneven number of partitions and the assignment is done for each topic independently, the first consumer ends up with more partitions than the second. This happens whenever Range assignment is used and the number of consumers does not divide the number of partitions in each topic neatly.
  • RoundRobin:Takes all the partitions from all subscribed topics and assigns them to consumers sequentially, one by one. If C1 and C2 described previously used RoundRobin assignment, C1 would have partitions 0 and 2 from topic T1 and partition 1 from topic T2. C2 would have partition 1 from topic T1 and partitions 0 and 2 from topic T2. In general, if all consumers are subscribed to the same topics (a very common scenario), RoundRobin assignment will end up with all consumers having the same number of partitions (or at most 1 partition difference).

默认策略是范围,这解释了为什么要看到这样的分区分布。

所以我做了个小实验。我创建了两个控制台使用者,每个用户都在收听主题test1, test2, test3, test4,每个主题只有一个分区。正如预期的那样,所有分区都分配给使用者-1。

然后,我将分区策略更改为org.apache.kafka.clients.consumer.RoundRobinAssignor,并将其传递给控制台--消费者和瞧,两个消费者现在各获得2个分区。

更新: Oops没有看到它已经在几分钟前被回答了。

票数 2
EN

Stack Overflow用户

发布于 2018-08-06 01:26:32

在Kafka中,一个主题/分区最多只能由一个消费者群体中的一个消费者使用,以避免消费者之间的种族冲突。

票数 2
EN

Stack Overflow用户

发布于 2018-08-06 01:33:56

在Apache中,分区数定义了在同一个消费者组中所需的并行级别;这意味着两个消费者作为同一个消费者组的一部分不能从同一个分区中读取数据。在您的示例中,只有一个分区的主题将只分配给一个消费者,而另一个将处于空闲状态,等待重新平衡:这意味着,如果第一个使用者断开连接,第二个用户将从空闲移动到使用分区。如果您的期望是为每个消费者获得10个主题,这不是Apache的工作方式。正如我所说,并行性单元是主题中的分区,而不是主题本身。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51703503

复制
相关文章
kafka rebalance 部分分区没有owner
转发请注明原创地址http://www.cnblogs.com/dongxiao-yang/p/6234673.html
sanmutongzi
2020/03/04
9140
kafka rebalance  部分分区没有owner
kafka 静态消费组成员
kafka的消费者组机制一直很受诟病,原因是他的设计看起来是比较美好的,但是在实际使用过程中,由于各种业务本身的消费逻辑漫长或者用户的使用姿势问题,导致自身的消费者组经常陷入无限的重平衡中,而由于消费者组的STW机制也会导致同组内的其他消费者出现消费停止的情况。这种现象在越大的工业集群中越容易出现,所以为了改进这种现象,kafka从2.3版本开始提供了静态消费者组的机制。(云上ckafka可以购买专业版2.4 也可以支持本特性)
markzhang12
2021/02/08
1.5K0
使用者竞争模式
使多个并发使用者能够处理同一消息通道上收到的消息。 它可让系统同时处理多个消息,以优化吞吐量、改进可扩展性和可用性,以及平衡工作负荷。
只喝牛奶的杀手
2019/09/02
6130
使用者竞争模式
PubMed使用者指南3.0
剪贴板提供了一个可以保存来源于不同研究引文的空间,最多可达五百条。存储于剪贴板的引文在八小时的静止状态后会过期。
生信菜鸟团
2020/08/05
1.4K0
PubMed使用者指南(一)
学习一个工具最直接有效的方式就是阅读它的官方指南,今年我们来学习一下PubMed的最新指南。
生信菜鸟团
2020/07/14
8.8K0
「事件驱动架构」Kafka再平衡协议:静态成员和增量合作再平衡
为了减少暂时性故障导致的用户重新平衡,Apache Kafka 2.3在KIP-345中引入了静态成员的概念。
架构师研究会
2020/07/31
1.1K0
「事件驱动架构」Kafka再平衡协议:静态成员和增量合作再平衡
硬盘分区显示磁盘上没有足够的空间完成此操作_您选择的分区可用空间不足
在新的预装windows 7的品牌机上,工作人员一般将磁盘分为C、D两个分区。但往往造成C盘有很大一部分的空间没办法分出来,而分出来的部分空间又不能和后面的磁盘合并,甚至出现无法新建简单卷的操作,即点击格式化按钮后,弹出”磁盘上没有足够的空间完成此操作”的对话框。这个问题也可能出现在Vista或者XP上,现解决方法如下:
全栈程序员站长
2022/09/20
4.2K0
mysql 分区键_mysql分区
就访问数据库的应用而言,逻辑上只有一个表或一个索引,但是实际上这个表可能由数10个物理分区对象组成,每个分区都是一个独立的对象,可以独自处理,可以作为表的一部分进行处理。
全栈程序员站长
2022/08/10
3.8K0
ubuntu16.04分区方案设置(新装的ubuntu没有网络驱动)
/home(用户存储数据用):逻辑分区,要尽可能大,100G空间可以设置为85G,留10G给主分区即可。
全栈程序员站长
2022/07/29
1.1K0
ubuntu16.04分区方案设置(新装的ubuntu没有网络驱动)
Hive静态分区、动态分区、多重分区全解析
现有6份数据文件,分别记录了《王者荣耀》中6种位置的英雄相关信息。现要求通过建立一张表t_all_hero,把6份文件同时映射加载。
大数据学习与分享
2023/02/26
2.6K0
Hive静态分区、动态分区、多重分区全解析
分区拉链表_列表分区
缺点:在数据量较大且资源有限的情况下对数据的合并耗时且表的设计有一定的要求(分区)
全栈程序员站长
2022/11/03
1.5K0
分区拉链表_列表分区
ubuntu分区方案(合并分区)
一句话概括:Ubuntu系统在一个硬盘上只支持最多4个 Primary 分区或3个 Primary 分区加1个 Extended 分区。Extended 分区下面可以有多个 Logical 分区。
全栈程序员站长
2022/07/29
4.9K0
GPT分区和MRB分区
MBR(Master Boot Record)分区是传统的分区方式,它将硬盘分为四个主分区或者三个主分区和一个扩展分区。在每个主分区中都可以安装操作系统,扩展分区可以被多个逻辑分区所包含。MBR 分区表使用了一个特定的引导代码来启动软件,它位于硬盘主引导记录(MBR)的第一扇区。
233333
2023/07/09
6170
分区
原文https://ecloud.10086.cn/op-help-center/show/F230B8AC46DA76B8
用户5166330
2021/02/04
2.3K0
分区
Mysql 分区介绍(八) —— 子分区
分区也被称为复合分区在分区表中每个分区的进一步划分。子分区也必须是hash分区/key分区
aox.lei
2018/09/10
3.4K0
ubuntu uefi 分区(ubuntu自动分区)
tip: 我的电脑是一个固态加一个机械硬盘,windows用固态硬盘,ubuntu用机械硬盘。安装好windows后,再安装ubuntu系统。安装ubuntu系统的时候,分区完成后,修改引导所在位置为:ubuntu的efi所在分区。
全栈程序员站长
2022/07/29
4.6K0
Hive系列:二级分区、动态分区和混合分区
partitioned by (uyear string,umonth string);
kk大数据
2019/08/14
9.7K0
Hive动态分区之多分区
中文分区在hive中显示为乱码,但是不影响正常使用。Mysql中也会有显示乱码的情况,但是MySQL有一个names可以设置编码格式。
云飞扬
2021/12/31
2.5K0
表分区中的分区交换
插入,更新,删除操作在具有大量数据的表中会变的很慢。通过分区表的分区交换可以快速实现这个过程。
Vincent-yuan
2020/04/08
2.4K0
表分区中的分区交换
点击加载更多

相似问题

没有分区的Kafka使用者

11

kafka-节点:使用者组成员/实例

11

很少有kafka分区没有分配给任何flink使用者

110

使用者不知道分区撤销

10

具有多个分区的使用者不被交错。

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文