我在卡夫卡中有一个主题描述如下(通过/usr/hdp/2.6.5.0-292/kafka/bin/kafka-topics.sh --describe <rest of command>
(
Topic:arrival_events PartitionCount:12 ReplicationFactor:2 Configs:
Topic: arrival_events Partition: 0 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 1 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 2 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 3 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 4 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 5 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002
Topic: arrival_events Partition: 6 Leader: 1001 Replicas: 1001,1002 Isr: 1001,1002
Topic: arrival_events Partition: 7 Leader: 1002 Replicas: 1002,1003 Isr: 1002,1003
Topic: arrival_events Partition: 8 Leader: 1003 Replicas: 1003,1001 Isr: 1003,1001
Topic: arrival_events Partition: 9 Leader: 1001 Replicas: 1001,1003 Isr: 1003,1001
Topic: arrival_events Partition: 10 Leader: 1002 Replicas: 1002,1001 Isr: 1002,1001
Topic: arrival_events Partition: 11 Leader: 1003 Replicas: 1003,1002 Isr: 1003,1002
Broker大约每天收到5-8mil
条消息(旅行模式(
除了几个分区(不超过2-3个(被高滞后卡住之外,一切都很好
随着数据的连续流动,在几天的时间里,这有时也会超过1-2mill。而其他分区舒适地坐在0滞后
假设round robin
也会强制读取其他分区,我曾尝试将消费者计数降低到12以下,但这没有帮助。
关于我有什么选择来减少这种滞后,有什么建议吗?消费者通过使用java构建的数据流处理器。
如果消息具有非空消息键,那么具有高滞后的分区可能会获得比其他分区更多的数据。在这种情况下,如果强制执行循环分区方案对业务逻辑没有任何影响,那么无论键是什么,都可能是有益的。