上云无忧 > 文档中心 > 腾讯云消息队列 CKafka - Consumer Group 持续出现 PreparingRebalance 状态
消息队列 CKafka
腾讯云消息队列 CKafka - Consumer Group 持续出现 PreparingRebalance 状态

文档简介:
问题概述: Consumer Group 持续出现 PreparingRebalance 的状态。 可能原因: 1. 有新的消费者加入消费者组。 2. 当运行的消费者停止运行,离开消费者组。常见的情况如消费者重启,消费者应用崩溃,消费者进程上报的心跳超时等(详情参见 CKafka 常用参数配置指南)。 3. 分区数变动的时候(增加或删除)。
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

问题概述

Consumer Group 持续出现 PreparingRebalance 的状态。

可能原因

1. 有新的消费者加入消费者组。
2. 当运行的消费者停止运行,离开消费者组。常见的情况如消费者重启,消费者应用崩溃,消费者进程上报的心跳超时等(详情参见 CKafka 常用参数配置指南)。
3. 分区数变动的时候(增加或删除)。

解决方法

1和3两种情况无法避免 rebalance。正常情况,rebalance 在30s内能完成。如果出现长期的 rebalance,需要 提交工单 进行处理。
如果是由于心跳超时或者两次 poll 时间间隔太大导致的问题,您可以调整如下参数:

		

# 使用 Kafka 消费分组机制时,消费者超时时间。当 Broker 在该时间内没有收到消费者的心跳时,认为该消费者故障失败,

Broker 发起重新 Rebalance 过程。目前该值的配置必须在 Broker 配置group.min.session.timeout.ms=6000和group.max.session.timeout.ms=300000 之间

session.timeout.ms=10000
# 使用 Kafka 消费分组机制时,消费者发送心跳的间隔。这个值必须小于 session.timeout.ms,一般小于它的三分之一
heartbeat.interval.ms=3000

# 使用 Kafka 消费分组机制时,再次调用 poll 允许的最大间隔。如果在该时间内没有再次调用 poll,

则认为该消费者已经失败,Broker 会重新发起 Rebalance 把分配给它的 partition 分配给其他消费者

max.poll.interval.ms=300000

如果出现一个消费者订阅了很多的 Topic,您可以尝试减少 Group 订阅 Topic 的数量。
相似文档
  • 客户端配置或服务异常: 以下异常属于客户端配置或服务异常,客户端不会自动重试。
  • 问题概述: 客户端生产消息进入堵塞状态,核心原因是消息发送不出去,或者发送的速度小于生产的速度。 如果是发送不出去,有 time out 的提示,可以先使用命令行进行生产消费,查看集群基本性能。参见 命令行生产消费。 如果是发送的速度小于生产速度,有三种原因:
  • 问题概述: 消费端拉取不到消息。 可能原因: 确认消费者组是否有堆积。如果没有堆积则会在 fetch.max.wait 时间后,返回空消息。该参数是消费者客户端配置的参数,默认是500ms,配置项如下:
  • 问题概述: Sarama 是一个 Golang 编写的 Kafka 客户端,具有较高的消息吞吐性能。 当因为性能达到瓶颈,主动扩容 CKafka 分区后,Sarama 客户端可能会无法感知分区的 reBalance,导致新分区的信息无法被正常生产消费。
  • 问题概述: 消费数据异常。 排查思路: 在 CKafka 控制台监控页面查看流量监控情况,观察是否存在波峰,如果存在则通过升级实例大小解决。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部