Kafka Leader选举流程
一、介绍
-
Kafka集群中有一个broker的Controller会被选举为Controller Leader,负责管理集群broker的上下线,所有topic的分区副本分配和Leader选举等工作
-
Controller的信息同步工作是依赖于Zookeeper的
二、实际操作
- 创建一个新的topic,4个分区,4个副本
bin/kafka-topics.sh \
--bootstrap-server hadoop102:9092 \
--create \
--topic atguigu1 \
--partitions 4 \
--replication-factor 4
- 查看Leader分布情况
bin/kafka-topics.sh \
--bootstrap-server hadoop102:9092 \
--describe \
--topic atguigu1
- 停止掉hadoop105的kafka进程,并查看分区情况
# 在hadoop105上操作
bin/kafka-server-stop.sh
# 在hadoop102上操作
bin/kafka-topics.sh \
--bootstrap-server hadoop102:9092 \
--describe \
--topic atguigu1
- 停止掉hadoop104的kafak进程,并查看Leader分区情况
# 在hadoop104上操作
bin/kafka-server-stop.sh
# 在hadoop102上操作
bin/kafka-topics.sh \
--bootstrap-server hadoop102:9092 \
--describe \
--topic atguigu1
- 启动hadoop105的kafak进程,并查看Leader分区情况
# 在hadoop105上操作
bin/kafak-server-start.sh \
-daemon \
config/server.properties
# 在hadoop102上操作
bin/kafka-topiccs.sh \
--bootstrap-server hadoop102:9092 \
--describe \
--topic atguigu1
- 启动hadoop104的kafka进程,并查看Leader分区情况
# 在hadoop104上执行
bin/kafka-server-start.sh \
-daemon \
config/server/properties
# 在hadoop102上执行
bin/kafka-topics.sh
--bootstrap-server hadoop102:9092 \
--describe \
--topic atguigu1
- 停止掉hadoop103的kafka进程,并查看Leader分区情况
# 在hadoop103上执行
bin/kafka-server-stop.sh
# 在hadoop102上执行
bin/kafka-topics.sh \
--bootstrap-server hadoop102:9092 \
--describe \
--topic atguigu1