【发布时间】:2018-11-04 00:04:07
【问题描述】:
我有一个包含 3 个代理的 Kafka 集群。复制已配置:
offsets.topic.replication.factor = 3
在其中一个经纪人倒闭之前一切正常。然后 Consumer(用 Scala 编写)停止接收消息并开始不断生成以下消息:
2018-05-24 19:59:27 DEBUG Fetcher:425 - 分区 SOMTOPIC-1 的领导者无法获取偏移量,等待元数据刷新
2018-05-24 19:59:27 DEBUG Fetcher:425 - 分区 SOMTOPIC-1 的领导者无法获取偏移量,等待元数据刷新
2018-05-24 19:59:27 DEBUG NetworkClient:640 - 向节点 0 发送元数据请求 {topics=[SOMETOPIC]}
2018-05-24 19:59:27 DEBUG Metadata:180 - 将集群元数据版本 5402 更新为 Cluster(nodes = [kafka-1:9092 (id: 0 rack: null)], partitions = [Partition(topic = SOMETOPIC,partition = 0,leader = none,replicas = [1,],isr = [],Partition(topic = SOMETOPIC,partition = 1,leader = none,replicas = [2,],isr = [],Partition (topic = SOMETOPIC, partition = 2, leader = 0, replicas = [0,], isr = [0,]])
但是,如果我使用 kafka-console-consumer 接收消息,一切正常。请帮忙。
【问题讨论】:
-
您在使用重新平衡器吗?处理故障情况?我的意思是消费者将如何重新平衡负载?
-
我是否真的看到了分区没有领导者的日志?
-
当代理崩溃时,是的,这需要为消费者刷新元数据,因为新代理可能成为分区的领导者等。是否有更多日志?
标签: scala apache-kafka