ZooKeeper概述和安装
1.1 概述
ZooKeeper是一个分布式的,分布式底层协调工具,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
zookeeper是一个底层的分布式协调工具!
1.2 基本功能
-
为客户提供写数据功能 数据不大 状态信息数据
-
为客户提供读取据功能
-
为用户提供数据变化时的监控功能
总结: ZooKeeper中仅仅记录一些关键性的数据或者是描述性的数据 ,所以并不存储大量的数据 , 为了保证数据的安全可靠,ZooKeeper要求集群一起工作, 共同存储相同的数据!! (3或者5台) , 3台机器存储三个数据副本, 5台机器就存储5个文件副本!!
1.3 应用场景
Zookeeper的作用有如下:
HDFS YARN的mast是自己制定的(配置HA)用于解决单线程故障问题
namenode
分布式系统中的主节点选举! 比如hbase中的老大的产生 Hmaster(HA)