您当前的位置: 首页 >  zookeeper

凌云时刻

暂无认证

  • 0浏览

    0关注

    1437博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Kafka从上手到实践 - 初步认知:Zookeeper | 凌云时刻

凌云时刻 发布时间:2020-06-08 18:30:00 ,浏览量:0

凌云时刻 · 技术

导读:这一节我们来认识一下在Kafka中有着超然地位的Zookeeper。

作者 | 计缘

来源 | 凌云时刻(微信号:linuxpk)

Zookeeper 初识

ZooKeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper的目标就是封装好复杂、易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper有以下一些特点:

  • Zookeeper的内部数据结构是树状结构的。

  • 每个节点称为zNode。

  • 每个zNode都有一个唯一路径(path)。

  • zNode分长久存在的和临时存在的。

  • 每个zNode都可以存储数据。

  • zNode不能重命名。

  • 每个zNode的任何变化都可以被监控。

所以Zookeeper作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,Zookeeper作用主要是用来维护和监控存储的数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理,可以说,Zookeeper相当于带有通知机制的文件系统。

Role of Zookeeper in Kafka

Zookeeper在Kafka中的地位是超然的。它的主要作用有以下几点:

  • Zookeeper管理着Kafka集群中的若干个Broker,保存着一份完整的Broker列表。

  • 维护Topic信息,比如Partitions、Replication Factor、ISR等。

  • Zookeeper帮助选举Partition的Leader.

  • 当有任何变动时,由Zookeeper给Kafka发送通知,比如添加一个新的Topic、Broker挂掉了、删除Topic等等。

  • Zookeeper集群中也有Leader和Follower的概念。Leader负责写数据,Follower负责读数据.

  • 存储Kafka集群ID。

  • 存储访问控制列表(ACL,Access Control List)。控制Topic、Consumer Group、User等访问权限。

Size of Zookeeper

Zookeeper对于Kafka有一个很重要的投票选举功能。所以通常情况下Zookeeper集群最少使用三个Server。如果增加更多Server,那最好是奇数个Server(3,5,7,9,2N+1)。因为Zookeeper有一个特性,就是集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个Zookeeper Server,那么只要有1个Zookeeper Server宕机,整个集群就不能用了,因为1没有过半,所以我们要搭建奇数个Server,这样就可以保证最大允许1,2,3,4,N个Server宕机,而保证整个系统不受影响。

小结

这一章节带大家初步认知了Zookeeper是什么,以及他在Kafka中为何具有超然的地位。和Kafka CLI一样,Zookeeper也有命令行工具,下一章节将会进行Zookeeper CLI的介绍,希望可以给小伙伴们带来帮助。

END

往期精彩文章回顾

Kafka从上手到实践:Kafka Java Consumer Kafka从上手到实践:Kafka Java Producer

Kafka CLI:Reseting Offset & Config CLI

Kafka CLI:Consumer CLI & Producer CLI

Kafka CLI:Topic CLI & Producer CLI

Kafka从上手到实践 - 实践真知:搭建单机Kafka

Kafka从上手到实践 - 庖丁解牛:Consumer

Kafka从上手到实践 - 庖丁解牛:Producer

Kafka从上手到实践 - 庖丁解牛:Partition

Kafka从上手到实践 - 庖丁解牛:Topic & Broker

Kafka从上手到实践 - 初步认知:MQ系统

长按扫描二维码关注凌云时刻

每日收获前沿技术与科技洞见

关注
打赏
1663816507
查看更多评论
立即登录/注册

微信扫码登录

0.0423s