我在三台EC2机器上有一个kafka集群(server-1,server-2,server-3),而zookeeper正在server-1上运行。 server-1有经纪人ID 11,12,13,server-2有经纪人ID 21,22,23,server-3有经纪人ID 31,32,33。 在尝试通过kafka控制台生成器(在server-1上)向名为test4的主题发送消息时,我收到以下错误:
WARN [KafkaApi-11] Produce request with correlation id 2 from client
console-producer on partition [test4,0] failed due to Leader not local
for partition [test4,0] on broker 11 (kafka.server.KafkaApis)
我得到的用于描述主题命令的输出是:
Topic: test4 Partition: 0 Leader: 21 Replicas: 21 Isr: 21
Topic: test4 Partition: 1 Leader: 22 Replicas: 22 Isr: 22
Topic: test4 Partition: 2 Leader: 23 Replicas: 23 Isr: 23
出现此错误的原因是什么?
答案 0 :(得分:1)
您似乎正在向代理11发送消息,但您应该将它们发送给代理21,因为此代理是主题test4,分区0的领导者。您究竟是如何生成/发送这些消息的呢?你能分享这个命令吗?难道你有可能以某种方式明确地指定了经纪人11吗?
出于好奇:你为什么在一台服务器上有三个Kafka经纪人? (如果我理解正确的话。)