Kafka 分区和副本如何分配
添加一个 topic
1 | bin/kafka-topics.sh |
分区和副本的分配方式如下图:
可能通过上图,你云里雾里,既然知道命令,我们就通过命令来看看,到底如何分配。
1 | bin/kafka-topics.sh --create --zookeeper localhost:2181 |
通过命令可以看出 topic:test-part 指定了 5个分区,拷贝因子为2(代表只有一个副本),通过 执行命令 查看 topic:test-part 信息如下:
通过上边的描述信息,可以得到如下图分配方式 -L:Leader -C:Replicas(副本)
然后,我又执行了如下命令:
1 | bin/kafka-topics.sh --create --zookeeper localhost:2181 |
得到分配图如下:
通过以上两次创建topic对比
第一次(5分区,2复制因子) test-part | 第二次(6分区,2复制因子) test-part-1 | |
---|---|---|
分区0所在broker | 0 | 3 |
副本与leader所在的关系 | leader所在broker.id + 2,即副本所在broker.id | leader所在broker.id + 2,即副本所在broker.id |
参考文章
https://www.cnblogs.com/qxynotebook/p/11235275.html
掘金小册-图解 Kafka 之实战指南
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 猿来是你!
评论