zookeeper(2181)
在zookeeper客户端程序中,除了zookeeper节点,其他都是kafka的节点,因此你要删除kafka的logs时,也要到zookeeper的客户端删掉这些节点。
kafka(9092)(作用:解耦削峰暂缓消息异步)
zookeeper和kafka的集群以及消费者有关系,和生产者没关系。
(0.9版本之后和消费者也没关系了,zookeeper只和kafka集群有关系了)
一台kafka服务器就是一个brokers,三台服务器,因此副本的数量不能超过三个(副本绝对不会再一台brokers,没意义)
分区的意思是将一个主题分成多个片段(kafka默认分区就是把一个主题分成多个片段,但是kafka默认会把这几个片段分到不同的brokers中,提高冗余性,如果只有三个borkers,而你设置了四个分区,则会把最后一个分区在给第一个borkers,如sssi)
second分一个区,因此一个brokers只有一个片段,但是有三个副本,因此在三台brokers上都只会显示second0
first分两个区,,因此一个brokers会有两个片段first0和first1(根据sssi的原理,first0和first1不在一个brokers上,你看到的在一个brokers是因为他有三个副本,brokers1上的first0是leader,那brokers2和3 上的就是fllower,而borers2上的first1是leader,那其他两个就是fllower),三个副本所以三个borkers都会显示。
三有2个分区,因此会有san0和san1,没有副本所以就没有fllower,只有leader,因此只会在brokers1上看到san0,只会在brokers2上看到san1。
注意看这个主题sssi,我们设置了四个分区,一个副本
在hadoop100上
在hadoop101上
在hadoop102上
分区和消费者组内的成员是多对一的关系,一个分区只能被一个消费者组的一个成员消费(而一个成员可以消费多个分区);
分区可以被 不同的消费者组 消费
生产:
消费:
消费者组,主题,分区 三者公共维护offect