> ./kip-kafka-topics --create --topic multiple_replicas_on_single_broker --replication-factor 3 --partitions 10
Error while executing topic command : org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
[2020-09-15 17:45:42,649] ERROR java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
at kafka.admin.TopicCommand$AdminClientTopicService.createTopic(TopicCommand.scala:175)
at kafka.admin.TopicCommand$TopicService.createTopic(TopicCommand.scala:134)
at kafka.admin.TopicCommand$TopicService.createTopic$(TopicCommand.scala:129)
at kafka.admin.TopicCommand$AdminClientTopicService.createTopic(TopicCommand.scala:157)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:60)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Caused by: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
2条答案
按热度按时间nsc4cvqm1#
欢迎你自己试试。。。
您将得到一个错误,指出复制副本超过可用的代理
omtl5h9j2#
如果您试图创建一个复制因子大于集群中可用代理数的主题,您将得到如下异常。
在kafka文档的“复制”一节中,说明了复制是针对服务器故障进行的:
kafka在可配置数量的服务器上复制每个主题分区的日志(您可以逐个主题设置此复制因子)。这允许在群集中的服务器发生故障时自动故障切换到这些副本,以便在出现故障时消息仍然可用。
因此,如果在一台服务器上放置多个replca,那么如果该服务器发生故障,它将无法恢复。
看看您的问题“它在单个代理下创建了3个副本(分区)”,我还建议您清楚地理解副本和分区之间的区别。这篇文章可能对你有帮助。