apache-kafka - 关于多个 Spark 流作业消耗一个具有相同组 id 的 kafka 主题的问题
问题描述
我提交了多个使用相同“group.id”的相同kafka主题的火花流作业,正如纯Kafka文档中所说,具有相同“group.id”的多个消费者将加入同一个消费者组,并记录在分区中kafka 主题将被拆分为这些消费者。但是,正如我在工作中测试的那样,这两个 spark 流作业仍然相同地消耗主题的所有分区(不是均匀拆分),并且在 who 过程中没有发生重新分区/异常。这里有没有人知道 Spark 如何以不同于纯 kafka 平台的方式管理 kafka 分区偏移量?也许这是由于zookeeper管理spark中的kafka偏移量而kafka本身管理它?
解决方案
在理想情况下,消费者的数量应该等于 Kafka 中的分区数量,如果这个比例不是一比一,你会得到不平衡。
分区数量 > 消费者数量的情况:- 很少有消费者可能从多个分区消费。
分区数量 < 消费者数量的情况:- 很少有消费者将保持空闲状态。
推荐阅读
- java - 与 Java 正则表达式不匹配
- python - 如果选择运行所有测试,PyTest 记录器不显示任何输出
- python - CatBoostRegressor 在尝试预测时显示错误(TypeError: Cannot convert 'b' to float)
- duplicates - 使用 apache_nifi 删除从数据库移动到 hdfs 的重复文件
- python - 如何在 keras 中使用 ImageDataGenerator 和 flow_from_directory 保存增强图像
- javascript - 如何在 React Native 中垂直渲染数据?
- javascript - MoveItem 无效请求
- python-3.x - 将条目(Active Directory 用户)和按钮(搜索)Python TKInter 小部件绑定到 Powershell 获取要在 TkInter 文本框中显示的用户命令
- php - PHP 无法加载 imagick 扩展(Windows)
- android - 无法运行程序“C:\Users\admin\AppData\Local\Android\Sdk\platform-tools\adb.exe”:CreateProcess 错误=193,%1 不是有效的 Win32 应用程序