Dar*_*Var 2 apache-kafka apache-kafka-streams
为什么我在启动我的 Kafka Streams 应用程序时会间歇性地点击以下 WARN 消息?
它不仅仅是一个警告,因为它淹没了应用程序日志并且 Kafka Streams 应用程序没有启动。
通常,当我重新部署它时,它就会起作用。
[my-app-0 my-app] 2020-03-25 14:00:12.931 WARN 1 --- [-StreamThread-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=my-app-b8f0b2a0-271b-4499-85bd-9e22d4a8b4b1-StreamThread-1-consumer, groupId=my-app] We received an assignment [topic-one-0, topic-two-0] that doesn't match our current subscription Subscribe(topic-two); it is likely that the subscription has changed since we joined the group. Will try re-join the group with current subscription
在我重新启动应用程序后,上面的警告消失了,我得到了一个不同的警告,但至少应用程序可以工作!
[my-app-0 my-app] 2020-03-25 14:05:54.300 WARN 1 --- [-StreamThread-1] o.a.k.c.c.internals.ConsumerCoordinator : [Consumer clientId=my-app-b0f22dc1-479b-4f7c-a862-b20f70eedc35-StreamThread-1-consumer, groupId=my-app] The following subscribed topics are not assigned to any members: [topic-one]
第一条消息表明消费者从分配的主题中获得了一个分区,但它并未订阅。如果您使用相同的application.id
(因此group.id
)启动多个应用程序实例,但两个应用程序订阅不同的主题,就会发生这种情况:这在 Kafka Streams 中是不允许的;所有具有相同application.id
需求的实例都订阅完全相同的主题并执行完全相同的拓扑。
第二条消息表明,组内的消费者确实订阅了某个主题,但某些主题分区未分配给该组的任何消费者。这可能是由于增量重新平衡(如 Kafka Streams 2.4 中引入的)而发生的:在将主题分区重新分配给不同的客户端之前,它首先只会从旧客户端取消分配,以允许客户端清理资源等。在连续的重新平衡中主题分区应该分配给新客户端。因此,只要 WARN 不持续(即重复多次重新平衡)并且发生连续的重新平衡,它就是预期的行为。
归档时间: |
|
查看次数: |
1309 次 |
最近记录: |