【发布时间】:2019-04-24 17:25:36
【问题描述】:
我有一个在 kafka 中描述的主题如下(via /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 构建的数据流处理器。
【问题讨论】:
-
主题中的消息是否有非空消息键?
-
另外,如果可能,请添加有关这两个命令结果的更多信息。 1)
bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name>。 2)bin/kafka-consumer-groups.sh --bootstrap-server <broker>:9092 --describe --group <consumer-group-name> --members --verbose -
你的消费群体有多少消费者?