首页 > 解决方案 > kafka:一位经纪人保留打印信息日志:“NOT_LEADER_FOR_PARTITION”

问题描述

我建立了一个包含三个代理的 kafka 集群,并使用参数 --replication-factor 2 --partitions 1 创建了几个主题,没有消息产生或消费。

但我发现其中一个代理,每秒连续输出 INFO 日志,而其他两个代理看起来不错:

[2018-07-09 10:11:17,

743] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:18,744] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:19,744] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:20,745] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:21,746] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:22,746] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:23,747] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:24,747] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:25,748] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:26,749] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:27,749] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:28,750] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:29,750] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:30,751] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:31,752] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:32,752] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)
[2018-07-09 10:11:33,753] INFO [ReplicaFetcher replicaId=3, leaderId=128, fetcherId=0] Retrying leaderEpoch request for partition TOPIC_LOGIN_EVENT-0 as the leader reported an error: NOT_LEADER_FOR_PARTITION (kafka.server.ReplicaFetcherThread)

标签: apache-kafka

解决方案


找到了问题的根源,我没有配置监听地址,所以每个broker默认使用InetAddress.getLocalHost()绑定。所以不幸的是,一位拥有该主题主要分区的经纪人使用 "localhost:9092" 。问题broker被“localhost:9092”告知连接到lead分区,结果连接到自己,当然还有——NOT_LEADER_FOR_PARTITION”</p>

我更正了 /etc/hosts ,它可以工作


推荐阅读