gpt4 book ai didi

apache-kafka - Kafka 消费者没有消费来自所有分区的消息

转载 作者:行者123 更新时间:2023-12-01 06:04:53 27 4
gpt4 key购买 nike

我创建了一个具有 10 个分区的 Kafka 主题,并尝试通过单个 kafka 消费者来消费消息。但是,kafka 消费者不会从所有分区读取消息。更具体地说,它仅使用来自 5 个特定分区的消息。
示例:消费者仅消费来自 [0,1,2,3,4] 的消息。重新启动后,如果它开始消费来自 [5,6,7,8 ,9] 的消息,那么它只会消费来自这些分区的消息。
这是 kafka-consumer-offset-checker.sh 命令的输出

群组|主题| PID |偏移|日志大小|滞后 |所有者
GRP1 |主题1 | 0 | 128 | 175 | 47 |没有任何
GRP1 |主题1 | 1 | 117 | 146 | 29 |没有任何
GRP1 |主题1 | 2 | 62 | 87 | 25 |没有任何
GRP1 |主题1 | 3 | 101 | 143 | 42 |没有任何
GRP1 |主题1 | 4 | 104 | 145 | 41 |没有任何
GRP1 |主题1 | 5 | 118 | 118 | 0 |没有任何
GRP1 |主题1 | 6 | 111 | 111 | 0 |没有任何
GRP1 |主题1 | 7 | 161 | 161 | 0 |没有任何
GRP1 |主题1 | 8 | 144 | 144 | 0 |没有任何
GRP1 |主题1 | 9 | 171 | 171 | 0 |没有任何

有谁知道为什么会发生..?

最佳答案

Kafka Consumer推荐配置
要为每个消费者设置一个分区,需要以正确的方式设计 Kafka 配置。我建议每个主题的每个单线程使用者应该有相同数量的分区。
这意味着如果要设置 5 个消费者独占单个分区,则必须创建具有 5 个分区的主题。在您的情况下,您可能需要使用 ./bin/kafka-topics.sh --zookeeper localhost:9092 --alter --topic testKafka --partitions 5 来减少分区数量。命令。

根据您的问题,由于主题被部分消费,因此消费者可能已配置为消费者组。同一组中的另一个消费者可能正在消耗剩余的分区,并且由于消费者少于分区,因此分区处于非事件状态。

关于apache-kafka - Kafka 消费者没有消费来自所有分区的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41337810/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com