Kafka分区重新平衡

时间:2018-11-15 23:57:45

标签: apache-kafka kafka-consumer-api

当我们在kafka主题中有多个分区时,分区重新平衡是常事吗?

这不一定意味着我们的应用中存在一些延迟或问题?

我一直看到正在撤销和重新分配分区的日志。

3 个答案:

答案 0 :(得分:0)

通常,是的,重新平衡意味着您可能拥有不稳定/闲置的客户端,代理由于各种原因或其他网络/操作系统级别问题而处于“不健康”状态……发生重新平衡时,则没有消费的发生,因此引入了滞后。

为了更好地了解Kafka集群和客户端,除了网络,CPU,内存,磁盘等其他系统级指标(而不是仅Kafka进程)之外,建议look over JMX metrics日志

答案 1 :(得分:0)

您使用消费者组吗?通常,在以下两种情况下会看到味精“正在撤销分区并重新分配分区”的消息。

假设您有一个由3个使用者组成的“使用者”组,每个使用者分别消费/处理1个Kafka经纪人分区。

场景1-

假设消费者3由于某种原因而下跌。

随后,kafka暂时将分区分配撤消给第三个使用方(直到启动并运行),然后将分区重新分配给使用方1或2。

在这种情况下,我们会看到这样的消息。

场景-2

另外,当使用者3以后启动时,它将重新分配分区以进行处理。 然后您将再次看到相同的消息。

答案 2 :(得分:0)

关于您的再平衡是否常见的问题。

如果一个应用程序看到过多的借贷,那么肯定会说该应用程序有问题,或者在代理方可能有问题。因此,在这种情况下这并不常见。

当您不经常在应用程序启动时或在使用者之间的任何故障转移之间看到此事件时,这种情况非常普遍。

要点:

    消费者
  • 重新平衡时间窗口无空,因为在重新平衡完成之前,他们将无法阅读任何消息,如果重新平衡过多,则可能会损害您的整体吞吐量。
  • li>