【发布时间】:2020-03-30 11:30:23
【问题描述】:
每个3 kafka 机器(我们在集群中有3 kafka)都收到来自server.log 的许多错误
[2019-12-05 13:25:09,529] ERROR [ReplicaFetcherThread-0-1], Error for partition [jdty.dee.rules.time,91] to broker 1001:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2019-12-05 13:25:09,529] ERROR [ReplicaFetcherThread-0-1], Error for partition [jdty.dee.export.profiles,96] to broker 1001:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2019-12-05 13:25:09,529] ERROR [ReplicaFetcherThread-0-1], Error for partition [jdty.dee.control.tt.state,40] to broker 1001:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2019-12-05 13:25:09,529] ERROR [ReplicaFetcherThread-0-1], Error for partition [jdty.dee.control.tt,67] to broker 1001:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
据我了解,每个主题都由一个或多个经纪人提供服务 - 一个是领导者,其余经纪人是追随者。
生产者需要向领导者代理发送新消息,领导者代理在内部将数据复制到所有追随者。
我假设,您的生产者客户端没有连接到正确的代理,它连接到跟随者而不是领导者,并且该跟随者拒绝了您的发送请求。
所以我的问题是 - 如何配置生产者配置以避免此类错误?
【问题讨论】:
-
通常连接到领导者是自动处理的。你的经纪人健康吗?您列出的主题的复制是否有任何问题?
-
我认为我的 kafka 集群没问题,我没有看到复制问题,但我需要更多的验证步骤来测试你写的所有内容
-
如果可能,请发布您的建议
-
使用
kafka-topics.sh描述您的主题。 -
我已经做到了,所有经纪人都是平衡的 - 如果是你的问题
标签: apache-kafka kafka-producer-api hdp