Apache kafka 是ISR列表中的领导者吗

Apache kafka 是ISR列表中的领导者吗,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,如果我将min.insync.replications设置为1,则引导者将等待跟随者获取此记录,或者他将向生产者发送确认,认为自己是ISR列表中的一员。如果将min.insync.replications设置为1,则引导者将确认数据的接收就足够了。领导者不会等待任何追随者确认数据 也许值得一提的是,min.insync.replicas仅在您将生产者配置acks设置为all(或-1)时生效 min.insync.replications的最小允许值为1,因此即使主题的复制系数设置为1,也不能低于

如果我将
min.insync.replications
设置为1,则引导者将等待跟随者获取此记录,或者他将向生产者发送确认,认为自己是ISR列表中的一员。

如果将
min.insync.replications
设置为1,则引导者将确认数据的接收就足够了。领导者不会等待任何追随者确认数据

也许值得一提的是,
min.insync.replicas
仅在您将生产者配置
acks
设置为
all
(或
-1
)时生效

min.insync.replications
的最小允许值为
1
,因此即使主题的复制系数设置为1,也不能低于1

领导者是ISR列表的一部分吗

是的,领导者是ISR列表的一部分。调用命令行工具
kafka topics
时可以看到这一点。在结果中,您会注意到相同的经纪人编号将显示为“Leader”和“ISR”:


在一个3节点Kafka集群中,
min.insync.replications
的设置是什么,以容忍一个节点的故障?在这种情况下,您需要将其设置为2。这是我一直认为的,但我得到了一个
副本不足的错误。我开始认为leader不是ISR的一部分,并且
min.insync.replicas=1
意味着leader+1 replica=2个节点。卡夫卡纪录片在很多地方也读到了,好像这位领导人不是ISR的一部分。奇怪…嗨@FrVaBe,我知道你来自哪里,为什么这让人困惑,因为我最初也有同样的想法。我做了更多的研究,发现合流的卡夫卡开发人员培训材料中的以下句子非常清晰和有用:“幻灯片上的描述具有误导性,因为ISR包括领导者和被追赶的追随者。ISR是一个副本列表,包括领导者和追随者,它们在一个被称为高水位线的指定点上是相同的。“非常感谢!为了澄清这一点,我真的必须检查一下(无论如何都需要做一些集群故障测试)-使用
min.insync.replicas=2
可以杀死3节点集群中的一个节点。
./bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic test 
Topic: test PartitionCount: 1 ReplicationFactor: 3  
Topic: test Partition: 0 Leader: 3 Replicas: 2,3,1 Isr: 3