在创建主题时,我们决定分区数和副本因子。这个主题是在所有的代理中创建的吗?它是针对任何一个经纪人的吗?
vcirk6k61#
创建主题时需要传递复制因子和分区。每个分区和副本放置哪个代理是随机决定的,尽管您可以稍后使用 kafka-reassign-partitions 将复制副本移动到其他代理。
kafka-reassign-partitions
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负责通知新的主题创建并触发分区分配。
2条答案
按热度按时间vcirk6k61#
创建主题时需要传递复制因子和分区。
每个分区和副本放置哪个代理是随机决定的,尽管您可以稍后使用
kafka-reassign-partitions
将复制副本移动到其他代理。odopli942#
可以使用以下命令创建主题:
此命令后,有关主题的元数据(分区数、副本、isr列表等)将存储在zookeeper中。您可以通过以下命令获取有关主题的信息:
根据round-robin算法创建分区副本列表,controller broker负责通知新的主题创建并触发分区分配。