Kafka中broker,分区,副本的概念

创建topic并查看topic情况

bin/kafka-topics.sh --create --bootstrap-server 82.157.198.247:9092,82.157.198.247:9093 --replication-factor 2 --partitions 2 --topic jqTopic
bin/kafka-topics.sh --bootstrap-server 82.157.198.247:9092 --describe --topic my-topic

解释:当创建两个分区三个副本,两个分区放在不同的topic上,为什么要有副本?:保证我们的数据一致性,防止宕机的时候,能够保证数据不被丢失,比如上述:分区0在kafka2服务器上为leader,其余服务器为从机保存了它的副本,分区1与之类似

Isr的作用:当leader挂了后,会从Isr中选举,如果从机节点性能较差会被踢掉

副本:

在kafka集群多个broker中,在kafka的读写操作都在leader上发生,leader负责将数据复制给follower;当主机宕机后,经过主从选举,会产生一个新的follower(cp)

一般是多少个分区就多少个副本与broker数相等,以分配给其他kafka节点

查看日志文件找到两个分区partition的日志文件

两个分区的文件有三个副本,所以在每个broker中都有分区的文件

经验分享 程序员 微信小程序 职场和发展