kafka利用zookeeper干了什么

阅读: 评论:0

kafka利用zookeeper干了什么

kafka利用zookeeper干了什么

Kafka与zk的关系及连接参数bootstrap.server的正确理解

zk在kafka中的作用

kafka消费组


如上图所示,kafka的运行离不开zookeeper,主要在以下方面依赖zookeeper:

集群和生产者相关

1,集群管理,broker的动态上下线。

每个broker在启动成功后会在zookeeper建立临时节点,controller节点监听节点的变化,完成leader的重新选举和消费者的重新负载均衡。

broker上线前在zookeeper中查看:

[zk: localhost:2181(CONNECTED) 79] ls /brokers/ids
[]

broker上线后:

[zk: localhost:2181(CONNECTED) 80] ls /brokers/ids
[0, 1, 2]

保存这个各个broker的地址信息。

2,各个topic的分区信息
[zk: localhost:2181(CONNECTED) 70] get /brokers/topics/input-kafka
{"version":2,"partitions":{"2":[0,1,2],"1":[2,0,1],"0":[1,2,0]},"adding_replicas":{},"removing_replicas":{}}

如上,topic:input-kafka包括三个分区,每个分区有三个副本,还标明了每个分区所在broker信息,如分区“2”分别存放在三个不同的broker上:[0,1,2]

3,分区信息信息、leader信息、leader-follower同步组信息

topic的分区信息:

[zk: localhost:2181(CONNECTED) 82] ls /brokers/topics/input-kafka/partitions
[0, 1, 2]

各个分区的副本信息、leader、leader-follower同步组信息

[zk: localhost:2181(CONNECTED) 84] get /brokers/topics/input-kafka/partitions/0/state
{"controller_epoch":250,"leader":2,"version":1,"leader_epoch":46,"isr":[2,0,1]}
cZxid = 0xa200000110
ctime = Sat Jun 05 23:27:02 HKT 2021
mZxid = 0xb8000001c8
mtime = Fri Jun 25 18:36:08 HKT 2021
pZxid = 0xa200000110
cversion = 0
dataVersion = 76
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 79
numChildren = 0
  • “isr”:[2,0,1] 表示三个副本都是同步的,这里解释下同步的意思,因为是分布式,leader分片写入成功后,副本分片会从leader拉取数据,这中间会有时间延迟,默认是10s,在10s之后follower和leader仍然不同步,则会被溢出isr队列

  • 生产者会获取分区信息,拿到各个分区的leader信息,根据负载均衡策略向broker写入消息

消费者相关

注意,消费相关在kafka 0.9以前是保存在zookeeper中,0.9以后不再保存在zookeeper中了,kafka自己保存,可以用kafka tool工具查看。

1,消费进度

以消费者组为单位,统计消费者消费的进度,记录的是分区的偏移量。

0.9以前保存在zookeeper中,0.9以后保存在内建的topic:__consumer_offsets

Kafka 如何读取offset topic内容 (__consumer_offsets)

2,topic分区和消费组的关系

__consumer_offsets 中保存着消费者组、topic、topic分区和offset的信息。

本文发布于:2024-01-29 00:36:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645981911450.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:CRITICAL
标签:干了什么   kafka   zookeeper
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23