首页 > 解决方案 > 关于多个 Spark 流作业消耗一个具有相同组 id 的 kafka 主题的问题

问题描述

我提交了多个使用相同“group.id”的相同kafka主题的火花流作业,正如纯Kafka文档中所说,具有相同“group.id”的多个消费者将加入同一个消费者组,并记录在分区中kafka 主题将被拆分为这些消费者。但是,正如我在工作中测试的那样,这两个 spark 流作业仍然相同地消耗主题的所有分区(不是均匀拆分),并且在 who 过程中没有发生重新分区/异常。这里有没有人知道 Spark 如何以不同于纯 kafka 平台的方式管理 kafka 分区偏移量?也许这是由于zookeeper管理spark中的kafka偏移量而kafka本身管理它?

标签: apache-kafkaspark-streamingoffsetpartition

解决方案


在理想情况下,消费者的数量应该等于 Kafka 中的分区数量,如果这个比例不是一比一,你会得到不平衡。

分区数量 > 消费者数量的情况:- 很少有消费者可能从多个分区消费。

分区数量 < 消费者数量的情况:- 很少有消费者将保持空闲状态。


推荐阅读