4.1 Kafka Broker 工作流程
4.1.1 Zookeeper存储的Kafka的信息
1. 查看zookeeper中的kafka节点所存储的信息
启动Zookeeper客户端
[wyr@hadoop104 zookeeper-3.5.7]$ bin/zkCli.sh
通过ls命令列出kafka节点内容
[zk: localhost:2181(CONNECTED) 2] ls /kafka
2. zookeeper 中存储的kafka信息
4.1.2 Kafka Broker总体工作流程
1. Kafka Broker工作流程图示
2. 案例实操:
1)案例内容:模拟kafka上下线,查看zookeeper中数据变化
2)查看kafka节点相关信息:① 查看zookeeper上的kafka集群节点信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka/brokers/ids
[102, 103, 104]
② 查看当前kafka集群节点中的controller信息
[zk: localhost:2181(CONNECTED) 2] get /kafka/controller
{"version":1,"brokerid":103,"timestamp":"1637292471777"}
- 查看kafka中的first主题的0号分区的状态
[zk: localhost:2181(CONNECTED) 2] get /kafka/brokers/topics/first/partitions/0/state
{"controller_epoch":24,"leader":102,"version":1,"leader_epoch":18,"isr":[102,103,104]}
3)模拟kafka下线:停止hadoop103上的kafka
[wyr@hadoop103 kafka]$ bin/kafka-server-stop.sh
4)查看kafka相关节点信息
① 查看zookeeper上的kafka集群节点信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka/brokers/ids
[102, 104]
② 查看当前kafka集群节点中的controller信息
[zk: localhost:2181(CONNECTED) 2] ls /kafka/controller
{"version":1,"brokerid":102,"timestamp":"1637292471777"}
③ 查看kafka中的first主题的0号分区的状态
[zk: localhost:2181(CONNECTED) 2] get /kafka/brokers/topics/partitions/0/state
{"controller_epoch":24,"leader":102,"version":1,"leader_epoch":18,"isr":[102,104]}
5)重新启动hadoop103上的kafka服务
[wyr@hadoop103 kafka]$ bin/kafka-server-stop.sh
6)再次查看上述节点,观察区别变化
4.1.3 Broker重要参数
参数名称 |
描述 |
|||
replica.lag.time.max.ms |
ISR中的Follower超过该事件阈值(默认30s)未向Leader发送同步数据,则该Follower将被踢出ISR。 |
|||
auto.leader.rebalance.enable |
默认是true。 自动Leader Partition 平衡。 |
|||
leader.imbalance.per.broker.percentage |
默认是10%。每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值,控制器会触发leader的平衡。 |
|||
leader.imbalance.check.interval.seconds |