当前位置: 首页 > 知识库问答 >
问题:

Kafka消费群体行为不平等

山乐生
2023-03-14

试图理解Kafka中的消费者群体行为。示例4分区可用。在消费者方面,消费者群体控制着4个消费者。在这种情况下,在消费者组中的4个消费者中,只有一个消费者始终收到消息。其他人总是无所事事。可能的原因是什么?

是否所有分区都保存相同的消息?或者所有分区都有相同的消息?或者我们可以认为分区不是均匀分布的吗?

共有1个答案

阚通
2023-03-14

其他人总是无所事事。可能的原因是什么?

默认情况下,对于4个分区和4个使用者,这是不可能的。您必须手动将组中的所有4个使用者分配到单个主题分区。或者,在为这些使用者分配的分区中没有数据,因此它们“看起来”空闲,但仍然轮询0条记录。

是否所有分区都保存相同的消息?

消息包含键和值。如果您的密钥为null,则同一消息值可能存在于多个分区上。如果您有非空键,那么使用DefaultPartitioner的同一消息(同一键)不可能位于不同的分区上。

还是所有分区都有相同的消息?

不,主要是因为即使只是时间戳和偏移量在多个分区上也不匹配

我们可以认为分区不是均匀分布的吗?

如果您有自己的分区器或非空键,那么可以创建“热”/“胖”分区,在其中它将与其他分区不平衡。使用空键时,生产者将在所有分区上均匀分布。

 类似资料:
  • 我是Kafka的新手,正在学习Kafka内部知识。请根据需要随时更正我的理解。。 这是我的实时场景..感谢所有的回复: 我有一个接收数据文件的实时FTP服务器…比如索赔文件。 我将把这些数据发布到一个主题中.让我们把这个主题称为claims_topic(2个分区). 我需要订阅这个claims_topic,阅读消息并将它们写入Oracle和Postgres表。让我们将oracle表称为Otable

  • 我在使用Kafka时遇到了一些问题。非常感谢任何帮助!我在docker swell中分别有zookeeper和kafka集群3个节点。您可以在下面看到Kafka代理配置。 我的情况: < li > 20x位制片人不断向Kafka主题传达信息 < li>1x消费者读取和记录消息 < li >终止kafka节点(docker容器停止),因此现在群集有2个Kafka代理节点(第3个节点将自动启动并加入群

  • 当一个组中只有一个消费者,并且认为消费者无法在session.time.out内进行轮询时,将触发重新平衡,但是在这种情况下,组中只有一个消费者,现在假设session.time.out是30秒和消费者民意调查后50秒组协调员将识别消费者后50秒,并允许它提交偏移或协调员将断开消费者和没有偏移得到提交,并将重新平衡消费者与新的消费者标识?如果上次提交的偏移量是345678,在下一次轮询中,它处理了

  • 我们希望获得Kafka消费群体指标(例如,节流和字节率)。 我们已经使用以下工具完成了此操作: Kafka消费者Java应用程序的JMX Mbean CLI实用程序: bin/kafka-consumer-groups.sh--描述--组group_name--bootstrap-serverlocalhost: port . 问题:这可以通过使用一些Java库以编程方式完成吗? 到目前为止,我们

  • 我们在Kubernetes中基于<code>gcr.io/google_containers/Kubernetes-Kafka:1.0-10.2.1</code>docker映像运行一个Kafka集群,使用<code>gcr.io/google_containers/Kubernetes-zookeeper:1.0-3.4.10</code>,使用三个Kafka和zookeer实例。 我们有几个不

  • 我运行这个命令: kafka使用者组--引导服务器localhost:9092--组我的使用者组--重置偏移量--最早--执行--主题my-topic-1 它给出了错误: 命令的语法不正确。 根据此命令的帮助结果,我键入的内容似乎是正确的。 我在这里犯了什么错误?