Как определить лучший коэффициент репликации и количество разделов?
Я получаю ошибку partition 0 does not have a leader
когда я пытаюсь использовать сообщения из очереди Кафки в Spark. Напротив, по какой-то причине я могу написать в той же теме без каких-либо проблем от Spark.
Я сделал несколько тестов из консоли:
/ usr / bin $ kafka-run-class kafka.tools.GetOffsetShell --broker-list "XXX.XX.XX.XXX:9092,XXX.XX.XX.XXX:9092,XXX.XX.XX.XXX:9092 "--topic" test-topic "--time -1
WARN Fetching topic metadata with correlation id 0 for topics [Set(test-topic)] from broker [BrokerEndPoint(0,XXX.XX.XX.XXX,9092)] failed (kafka.client.ClientUtils$)
java.nio.channels.ClosedChannelException
at kafka.network.BlockingChannel.send(BlockingChannel.scala:110)
at kafka.producer.SyncProducer.liftedTree1$1(SyncProducer.scala:80)
at kafka.producer.SyncProducer.kafka$producer$SyncProducer$$doSend(SyncProducer.scala:79)
at kafka.producer.SyncProducer.send(SyncProducer.scala:124)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:59)
at kafka.client.ClientUtils$.fetchTopicMetadata(ClientUtils.scala:94)
at kafka.tools.GetOffsetShell$.main(GetOffsetShell.scala:79)
at kafka.tools.GetOffsetShell.main(GetOffsetShell.scala)
test-topic:2:1096
test-topic:1:1028
Error: partition 0 does not have a leader. Skip getting offsets
Итак, брокера для раздела 0 нет, верно? Но как я могу настроить Spark для чтения из темы, даже если один из брокеров не работает?
Или это связано с тем, как была создана тема?
ОБНОВИТЬ:
/usr/bin/kafka-topics --describe --zookeeper XXX.XX.XX.XXX:2181 --topic ,test-topic
Topic:test-topic PartitionCount:3 ReplicationFactor:2 Configs:
Topic: test-topic Partition: 0 Leader: 3 Replicas: 3,1 Isr: 3,1
Topic: test-topic Partition: 1 Leader: 1 Replicas: 1,2 Isr: 2,1
Topic: test-topic Partition: 2 Leader: 2 Replicas: 2,3 Isr: 2,3