我有5个broker kafka版本0.10集群。复制因子为3。这是生产kafka
代理ID为
101
102
103
104
105
几个月后,集群运行正常,我们在Kakfa server.log中观察到以下日志。
从日志中我们可以看到许多行"此服务器不是该主题的领导者-分区b"异常。
主题-kopa.thrn.bvff有100个分区
我们可以看到所有100个分区都是平衡的,不需要运行kafkakafka-reassign-partitions
可能的原因是什么?
请帮帮我。
[2023-01-19 11:53:37,434] ERROR [ReplicaFetcherThread-0-101], Error for partition [kopa.thrn.bvff,78] to broker 101:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2023-01-19 11:53:37,434] ERROR [ReplicaFetcherThread-0-101], Error for partition [kopa.thrn.bvff,23] to broker 101:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2023-01-19 11:53:37,434] ERROR [ReplicaFetcherThread-0-101], Error for partition [kopa.thrn.bvff,63] to broker 101:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2023-01-19 11:53:37,434] ERROR [ReplicaFetcherThread-0-101], Error for partition [kopa.thrn.bvff,98] to broker 101:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
[2023-01-19 11:53:37,434] ERROR [ReplicaFetcherThread-0-101], Error for partition [kopa.thrn.bvff,3] to broker 101:org.apache.kafka.common.errors.NotLeaderForPartitionException: This server is not the leader for that topic-partition. (kafka.server.ReplicaFetcherThread)
1条答案
按热度按时间g2ieeal71#
领导者代理和跟随者代理管理Kafka中的每个分区。由于复制因子为3,因此每个分区将有一个领导者代理和两个跟随者代理。
当Kafka的生产者生产数据时,它连接到领导者并将数据放在那里,追随者将从领导者那里复制数据。
现在,Kafka领导者代理可以基于领导者的可用性被重新分配,如果领导者在分布式环境中由于任何原因(忙碌的CPU、网络分区等)在一段时间内不可用,则Kafka将运行分区的领导者选举以选举分区的领导者。
你可以通过主题描述命令看到谁是领导者,谁是跟随者。
在您的示例中,由于某个领导者不可用,分区领导者已被更改。如果您有Kafka度量,则可以看到该分区的领导者选举事件。在分布式环境中,很难确保一个代理将永远保持领导者。