4.1.1 Zookeeper 存储的 Kafka 信息
4.1.2 Kafka Broker 总体工作流程
4.2 生产经验 - 节点的服役和退役
自己的理解:其实就是将kafka的分区,负载到集群中的各个节点上。
1、服役新节点
2、退役旧节点
4.3 kafka副本
1、副本的作用
2、Leader的选举流程
选举规则:在isr中存活为前提,按照AR中排在前面的优先。例如ar[1,0,2], isr [1,0,2],那么leader就会按照1,0,2的顺序轮询。
3、 Leader 和 Follower 故障处理细节
两个概念:
- LEO(Log End Offset):每个副本的最后一个offset,LEO其实就是最新的offset + 1
- HW(High Watermark):所有副本中最小的LEO
4、分区副本分配
5、手动分配分区副本
6、Leader Partition 负载平衡
正常情况下,Kafka本身会自动把Leader Partition均匀分散在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是follower partition,读写请求很低,造成集群负载不均衡
·最好不要设置集群自动再平衡,因为它浪费集群大量的性能·
7、生产经验——增加副本因子
在生产环境当中,由于某个主题的重要等级需要提升,我们考虑增加副本。副本数的增加需要先制定计划,然后根据计划执行
【注意】不能直接通过命令行的方式修改副本,而是需要通过一下方式来增加副本数量 !