Apache kafka 当一个分区的引线与其他生产者分离时会发生什么?
我有一个设置,其中我们有一个节点N1、N2和N3的集群。Kafka也在这3个节点中以集群模式运行。对于特定的主题分区,N2是前导。作为测试的一部分,我们将N1与N2和N3分开。当N1的制作人发布到主题时,会引发异常 据我所知Apache kafka 当一个分区的引线与其他生产者分离时会发生什么?,apache-kafka,Apache Kafka,我有一个设置,其中我们有一个节点N1、N2和N3的集群。Kafka也在这3个节点中以集群模式运行。对于特定的主题分区,N2是前导。作为测试的一部分,我们将N1与N2和N3分开。当N1的制作人发布到主题时,会引发异常 据我所知 每个分区有一台服务器充当“领导者”,零台或多台服务器充当“追随者”。leader处理分区的所有读写请求,而followers被动地复制leader。如果领导者失败,其中一个追随者将自动成为新的领导者。每台服务器都充当其部分分区的引导者和其他分区的跟随者,因此集群内的负载平衡
每个分区有一台服务器充当“领导者”,零台或多台服务器充当“追随者”。leader处理分区的所有读写请求,而followers被动地复制leader。如果领导者失败,其中一个追随者将自动成为新的领导者。每台服务器都充当其部分分区的引导者和其他分区的跟随者,因此集群内的负载平衡良好。
如果是这样的话,N1不应该成为主题的领导者,让内容发布并继续吗?我可以理解它是否会抛出一个异常,即没有必要的仲裁和放弃,但下面的异常似乎使卡夫卡的行为与我的理解不同。我看到kafka()报告了一个问题,但是生产者是另一个节点,集群中的三个节点似乎是连接在一起的。(我推断)这与我面对的不同。有人能解释发生了什么事吗
java.nio.channels.ClosedChannel异常
at kafka.network.BlockingChannel.send(BlockingChannel.scala:112)
at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:101)
at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:86)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(SimpleConsumer.scala:135)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:135)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:135)
at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:31)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply$mcV$sp(SimpleConsumer.scala:134)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:134)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:134)
at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:31)
at kafka.consumer.SimpleConsumer.fetch(SimpleConsumer.scala:133)
at kafka.consumer.ConsumerFetcherThread.fetch(ConsumerFetcherThread.scala:117)
at kafka.consumer.ConsumerFetcherThread.fetch(ConsumerFetcherThread.scala:36)
at kafka.server.AbstractFetcherThread.processFetchRequest(AbstractFetcherThread.scala:149)
at kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:113)
at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:64)
制片人无论如何都不应该依靠经纪人