ApacheKafka—在给定了包含分区数和副本因子详细信息的脚本时,在broker中创建主题的位置和方式

8xiog9wr  于 2021-06-05  发布在  Kafka
关注(0)|答案(2)|浏览(269)

在创建主题时,我们决定分区数和副本因子。这个主题是在所有的代理中创建的吗?它是针对任何一个经纪人的吗?

vcirk6k6

vcirk6k61#

创建主题时需要传递复制因子和分区。
每个分区和副本放置哪个代理是随机决定的,尽管您可以稍后使用 kafka-reassign-partitions 将复制副本移动到其他代理。

odopli94

odopli942#

可以使用以下命令创建主题:

./bin/kafka-topics.sh --create --zookeeper <ZOOKEEPER_URL:PORT> --replication-factor <NO_OF_REPLICATIONS> --partitions <NO_OF_PARTITIONS> --topic <TOPIC_NAME>

此命令后,有关主题的元数据(分区数、副本、isr列表等)将存储在zookeeper中。您可以通过以下命令获取有关主题的信息:

./bin/kafka-topics.sh --zookeeper localhost:2181 --topic TopicName --describe

根据round-robin算法创建分区副本列表,controller broker负责通知新的主题创建并触发分区分配。

相关问题