kafka集群

1修改/usr/local/kafka/conf下的文件server.properties

  broker.id=0(不能重复)

  zookeeper.connect=192.168.43.65:2181,192.168.43.5:2181,192.168.43.246:2181===》zookeeper集群的ip地址

 

2、验证是否正确,可以先创建topic看看其他的kafka是否可以看到创建的这个topic

创建topic:

./kafka-topics.sh --create --zookeeper 192.168.43.65:2181 --replication-factor 1 --partitions 1 --topic test1

查看所有topic:

./kafka-topics.sh --list --zookeeper 192.168.1.65:2181

两个分区三个副本的topic信息描述如下:

 

 Isr:能够同步副本的broker.id,如果性能太差会被踢出Isr集合

副本就是为分区提供多个备份,副本数不能超过broker的数量(kafka服务器)

 副本中也有leader的概念,多个副本会有一个leader,读跟写都发生在leader上,跟zookeeper一样也是通过选举模式来选中leader

 

broker、主题、分区、副本之间的关系:

集群中有多个broker,一个broker可以创建多个主题,主题中可以创建多个分区,分区中可以创建多个副本(数量不能超过broker数量)

 

 controller:控制选举leader,根据Isr

rebalance:控制分区给哪个消费者消费(当消费者和分区关系发生变化就会触发rebalance)

问题优化

kafka如何防止数据丢失:

生产者:使用同步发送)把ack设置为1或 者all并设置同步分区数》=2

消费者:把自动提交改为手动提交

 

 

kafka-eagle监控平台的搭建:

 

posted on 2021-12-27 19:53  bruce.sharp  阅读(88)  评论(0)    收藏  举报