apache-kafka - 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)
解决方案
找到了问题的根源,我没有配置监听地址,所以每个broker默认使用InetAddress.getLocalHost()绑定。所以不幸的是,一位拥有该主题主要分区的经纪人使用 "localhost:9092" 。问题broker被“localhost:9092”告知连接到lead分区,结果连接到自己,当然还有——NOT_LEADER_FOR_PARTITION”</p>
我更正了 /etc/hosts ,它可以工作
推荐阅读
- spring-boot - JackRabbit Oak:我的应用程序需要很长时间才能启动/重新启动
- c# - MassTransit - AWS SQS/SNS - 向 SNS 添加标签
- ios - 应用内自动续订订阅的服务器到服务器通知是否会在订阅自动续订时通知?(不在现场沙箱中)
- vue.js - 如何从重定向
- 使用 Vue js 将搜索组件结果到另一个页面的项目?
- angular - 在移动设备上从上到下滑动不起作用(锤子 js)
- reactjs - 从@fluentui/react-northstar@0.48.0 读取表单组件
- python - 为我的情节中的每条曲线提供独特的颜色
- git - 警告:在包文件中找不到符合条件的大 blob - 是否需要打包 repo?
- node.js - 执行 npm install 导致 fsevents 错误
- python - Python中更短的函数表达式:lambda的快捷方式