什么是Zookeeper,为什么我们要使用Zookeeper

1.什么是zookeeper?

(1)Zookeeper是Googel的Chubby的一个开源实现,是Hadoop的分布式协调服务,它包好了一个简单的原语,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

(2)Zookeeper本身也允许单机模式,但是一台服务器很难表达出zookeeper的强大功能,所以真是生产环境下zookeeper一班都是3台以上的奇数量的存在,证实了zookeeper本身是一个分布式集群的存在。

(3)ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

(4)ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本

2.Zookeeper工作结构图


3.为什么要使用Zookeeper?

a. 大部分的分布式应用程序都需要一个主控、协调器或者控制器来物理分布的子进程(如资源,内存分配等)
b. 目前大部分应用开发私有的协调程序,缺乏一个通用性
c. 协调程序的反复编写浪费,难以形成通用、伸缩性好的协调器
d. ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用

4. Zookeeper能帮助我们做什么?

(1)在Hadoop2.0以后,hadoop借助Zookeeper实现了保证只有一个活跃的NameNode、ResouceManager的存在,存储配置信息等。
(2)Hbase使用Zookeeper的事件处理确保集群中只有一个活跃的HMaster并察觉HRegionServer联机和宕机,存储访问控制列表等。

5. Zookeeper的特性

zookeeper是简单的、富有表现力、具有高可用的、采用松耦合、是一个资源库。

探究zookeeper,我不得不佩服zookeeper的强大,Zookeeper是一个很厉害的协调服务的服务器,在这里我向开发zookeeper的前辈们致敬!人生有百态,这个态我觉得是心态
相关文章
相关标签/搜索