Kafka 消费者正在花时间识别新分区
Kafka consumer is taking time to recognize new partition
我是 运行 kafka 消费者从一个主题的多个分区读取数据的测试。虽然过程是 运行,但我添加了更多分区。消费者线程从新分区读取数据大约需要 5 分钟。我找到了这个配置 "topic.metadata.refresh.interval.ms",但这仅适用于生产者。消费者也有类似的配置吗?
当我们向现有主题添加更多分区时,将启动重新平衡过程。
一个consumer group中的每个consumer都独占分配了一个或多个topic partition,Rebalance就是consumer之间partition所有权的重新分配。
再平衡发生在:
- 消费者加入群组
- 消费者完全关闭
- 组协调员认为消费者已死亡。这可能发生在
崩溃或当消费者忙于 long-运行 处理时,这意味着
同时消费者没有向客户端发送心跳
配置的会话间隔内的组协调器
new partitions are added
我们需要提供两个参数来减少重新平衡的时间。
request.timeout.ms
max.poll.interval.ms
更详细的信息可以在下面找到。
我更改了“metadata.max.age.ms”参数值来刷新元数据https://kafka.apache.org/documentation/#consumerconfigs_metadata.max.age.ms
我是 运行 kafka 消费者从一个主题的多个分区读取数据的测试。虽然过程是 运行,但我添加了更多分区。消费者线程从新分区读取数据大约需要 5 分钟。我找到了这个配置 "topic.metadata.refresh.interval.ms",但这仅适用于生产者。消费者也有类似的配置吗?
当我们向现有主题添加更多分区时,将启动重新平衡过程。
一个consumer group中的每个consumer都独占分配了一个或多个topic partition,Rebalance就是consumer之间partition所有权的重新分配。
再平衡发生在:
- 消费者加入群组
- 消费者完全关闭
- 组协调员认为消费者已死亡。这可能发生在 崩溃或当消费者忙于 long-运行 处理时,这意味着 同时消费者没有向客户端发送心跳 配置的会话间隔内的组协调器
new partitions are added
我们需要提供两个参数来减少重新平衡的时间。
request.timeout.ms
max.poll.interval.ms
更详细的信息可以在下面找到。
我更改了“metadata.max.age.ms”参数值来刷新元数据https://kafka.apache.org/documentation/#consumerconfigs_metadata.max.age.ms