apache-kafka - Kafka 消费组不断进入 PreparingRebalance 状态并停止消费
问题描述
我们有一个 Kafka Streams 消费者组,它不断进入 PreparingRebalance 状态并停止消费。模式如下:
消费者组正在运行并稳定约 20 分钟
新的消费者(成员)在没有任何明确原因的情况下开始出现在群组状态中,这些新成员仅来自少数虚拟机(每次不是相同的虚拟机),并且不断加入
组状态更改为 PreparingRebalance
所有消费者停止消费,显示这些日志:“组协调器......不可用或无效,将尝试重新发现”
生成额外成员的 VM 上的使用者会显示以下日志:
偏移量 Y 在分区 X 上的偏移量提交失败:协调器不知道该成员。
无法提交流任务 X,因为它已经迁移到另一个线程。在触发新的重新平衡之前将其作为僵尸关闭。
检测到迁移到另一个线程的任务 Z。这意味着该线程错过了重新平衡并退出了消费者组。将尝试重新加入消费者组。
- 我们杀死所有虚拟机上的所有消费者进程,该组移动到具有 0 个成员的 Empty,我们启动进程并返回到第 1 步
Kafka 版本是 1.1.0,流版本是 2.0.0
我们从行为不端的消费者那里获取了线程转储,并且没有看到比配置更多的消费者线程。
我们尝试重新启动 kafka 代理,清理 zookeeper 缓存。
我们怀疑这个问题与丢失的心跳有关,但默认的心跳是 3 秒,并且消息处理时间与此相差无几。
有人遇到过类似的行为吗?
解决方案
推荐阅读
- jquery - 分页通过jQuery恢复删除的行
- google-apps-script - 使用逗号分隔数据的列中的下拉列表 Google 表格
- reactjs - React Redux 与使用全局挂钩?哪个更好?
- javascript - 将 java 脚本数组复制到另一个数组
- windows - 使用 windows api 计算字母并打印数字数组
- html - 如何增加将导航栏更改为汉堡图标的大小
- reactjs - 为什么我的 IF 不返回组件
? - bash - 我可以使用变量名间接选择要写入的数组吗?
- html - 我正在尝试为我的网站水平对齐文本和图像
- pyqt5 - 在 Python 3.7 (Linux) 上安装 PyQt5