大数据全系列 教程
1869个小节阅读:467.4k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
通过Kafka broker上下线,观察Zookeeper 中数据变化
查看/kafka/brokers/ids 路径上的节点。
xxxxxxxxxx
[zk: node4:2181(CONNECTED) 12] ls /kafka/brokers/ids
[0, 1, 2]
查看/kafka/controller节点上的数据。
xxxxxxxxxx
[zk: node4:2181(CONNECTED) 14] get /kafka/controller
{"version":1,"brokerid":0,"timestamp":"1649207964072"}
查看/kafka/brokers/topics/topicN/partitions/2/state 路径上的数据。
xxxxxxxxxx
[zk: node4:2181(CONNECTED) 15] get /kafka/brokers/topics/topicN/partitions/2/state
{"controller_epoch":2,"leader":1,"version":1,"leader_epoch":0,"isr":[1,0,2]}
停止node3上的 kafka。
xxxxxxxxxx
[root@node3 ~]# kafka-server-stop.sh
[root@node3 ~]# jps
18519 Jps
2287 QuorumPeerMain
再次查看/kafka/brokers/ids 路径上的节点。
xxxxxxxxxx
[zk: node4:2181(CONNECTED) 16] ls /kafka/brokers/ids
[0, 2]
再次查看/kafka/controller 路径上的数据。
xxxxxxxxxx
[zk: node4:2181(CONNECTED) 17] get /kafka/controller
{"version":1,"brokerid":0,"timestamp":"1649207964072"}
再次查看/kafka/brokers/topics/topicN/partitions/2/state 路径上的数据。
xxxxxxxxxx
[zk: node4:2181(CONNECTED) 18] get /kafka/brokers/topics/topicN/partitions/2/state
{"controller_epoch":2,"leader":0,"version":1,"leader_epoch":1,"isr":[0,2]}
leader值由1变为了0,leader_epoch+=1,isr去掉了1。
启动 node3上的 kafka
xxxxxxxxxx
[root@node3 ~]# kafka-server-start.sh -daemon /opt/kafka/config/server.properties
再次观察1,2,3步骤中的内容。
实时效果反馈
1. 关于Broker工作流程的描述,错误的是:
A broker启动时,会在节点/kafka/brokers/ids
下注册子节点,每个子节点分别对应一个broker。
B 抢注临时节点/kafka/controller
,注册成功的broker上的Controller为Leader,/kafka/controller_epoch
节点的值默认为1,每次改变Controller Leader 它的值就会+1。
C Leader Controller监听/kafka/broker/ids
子节点变化。
D Partition Leader的选举规则:1.首先是在isr列表中存活的节点;2.按照ar列表元素的前后顺序依次进行。
答案:
1=>B /kafka/controller_epoch
节点的值默认为0。