文章目录
Kafka Broker
Kafka Broker工作流程
Zookeeper存储的Kafka信息
//启动Zookeeper客户端
bin/zkCli.sh
//通过ls命令可以查看Kafka相关信息
ls /kafka
Kafka Broker总体工作流程
bin/kafka-server-stop.sh
jps
bin/kafka-server-start.sh -daemon config/server.properties
Broker重要参数
生产经验-节点服役和退役
服役新节点
//修改ip地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
退役旧节点
1、执行负载均衡操作
先按照退役一台新节点,生成执行计划,然后按照服役时操作流程执行负载均衡
1.1、创建一个要均衡的主题
1.2、创建执行计划
1.3、创建副本存储计划(所有副本存储在broker0、broker1、broker2)
1.4、执行副本存储计划
1.5、验证副本存储计划
Kafka副本
副本基本信息
- Kafka副本作用:提高数据可靠性
- Kafka默认副本1个,生产环境一般配置2个,保证数据可靠性;太多副本会增加磁盘存储空间,增加网络上数据传输,降低效率。
- Kafka中副本分为:Leader和Follower。Kafka生产者只会把数据发往Leader,然后Follower找Leader进行同步数据。
- Kafka分区中的所有副本统称为AR(Assigned Repllicas)
AR = ISR + OSR
ISR,表示和Leader保持同步的Follower集合。如果Follower长时间未向Leader发送通信请求或同步数据,则该Follower将被踢出ISR。该时间阈值由replica.lag.time.max.ms参数设定,默认30s。Leader发生故障之后,就会从ISR中选举新的Leader。
OSR,表示Follower与Leader副本同步,延迟过多的副本。
Leader选举流程
Kafka集群中有一个broker的Controller会被选举为Controller Leader,负责管理集群broker的上下线,所有topic的分区副本分配和Leader选举等工作。
Controller的信息同步工作是依赖于Zookeeper的。
Leader和Follower故障处理细节
分区副本分配
生产经验-手动调整分区副本存储
生产经验-Leader Partition负载平衡
自动平衡
生产经验-增加副本因子
文件存储
文件存储机制
文件清理机制
高效读写数据