1.基本概念:
(1).是一个针对大型分布式系统的可靠协调系统。
(2).目标就是封装好复杂,易出错的关键服务。
Zookeeper的特点:数据一致性,可靠性,实时性,等待无关,原子性,顺序性。
使用Zookeeper的系统有:
HDFS,Yarn,Storm,Hbase,Flume,Dubbo,Metaq
2. Zookeeper集群由Server组成,
每个server在内存中存储一份数据
Zookeeper启动时,将从实例中选举一个leader(paxos协议)
leader负责处理数据更新等操作(zab协议)
paxos核心思想是当多数server写成功时,则任务数据写成功。例如:有3个server,则两个写成功即可。
所以server一般为奇数个。
每个节点在Zookeeper中叫做znode,并且有且只有一个路径标识。
3.Zookeeper的应用场景
(1)统一命名服务
(2)配置管理(同步更新)具体实现:可将配置信息写到Zookeeper的一个znode上,各个节点监听这个znode,一旦znode中的数据修改,Zookeeper将通知各个节点。
(3)集群管理 典型应用场景:Hbase中master状态监听与选举
(4)分布式通知与协调
(5)分布式锁
(6)分布式队列