Hadoop从入门到放弃系列------ZooKeeper

ZooKeeper是一个开源的分布式协调服务,源于雅虎研究院,用于解决分布式环境中的协调问题。它提供了数据发布/订阅、分布式锁、Master选举等功能。ZooKeeper的特点包括顺序一致性、原子性、单一视图、可靠性、实时性。文章详细介绍了ZooKeeper的集群角色、会话、节点、版本、监听器和ACL等关键概念。
摘要由CSDN通过智能技术生成

一、ZooKeeper的由来

 ZooKeeper最早起源于雅虎研究院的一个研究小组,其宗旨就是解决分布式系统中的协调问题,并且自身无单点风险。

再说下“ZooKeeper”这个名字由来的趣闻,在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如Pig,Hive等),雅虎的工程师希望给这个项目也取一个动物的名字。时任研究院的首席科学家RaghuRamakrishnan开玩笑地说:“在这样下去,我们这儿就变成动物园了!”此话一出,大家纷纷表示就叫动物园管理员吧一一一因为各个以动物命名的分布式组件放在一起,雅虎的整个分布式系统看上去就像一个大型的动物园了,而ZooKeeper正好要用来进行分布式环境的协调一一于是,ZooKeeper的名字也就由此诞生了。

二、ZooKeeper 到底是什么

 ZooKeeper是一个开源的分布式协调服务,最初在“Yahoo!”上构建,是Google Chubby的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、配置维护、分布式同步、分布式锁和分布式队列等功能。

三、ZooKeeper 的一些重要概念

 1、集群角色

ZooKeeper集群包括三种角色:Leader,Follower,Observer,如下图

Leader由除Observer外的所有节点选举产生,既可以为客户端提供写服务又能提供读服务。Follower 和 Observer 都只能提供读服务。

Follower 和 Observer 唯一的区别在于 Observer 机器不参与 Leader 的选举过程,也不参与写操作的“过半写成功”策略,因此 Observer 机器可以在不影响写性能的情况下提升集群的读性能。

2、会话

会话(Session)就是一个客户端与服务器之间的一个TCP长连接,客户端和服务器的一切交互都是通过这个长连接进行的;当客户端连接断开时,只要在 SessionTimeout 规定的时间内能够重新连接上集群中任意一台服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值