1基本概念
1.1 什么是Zookeeper
Zookeeper是一个底层的分布式协调服务!
它是hadoop生态体系中很多分布式系统(HDFS、YARN、HBASE、KAFKA.........)的基础组件
1.2 Zookeeper的基本功能
- 为客户提供写数据功能
- 为客户提供读取据功能
- 为用户提供数据变化时的监控功能
1.3 Zookeeper的作用
分布式系统中的主节点选举! 比如hbase中的老大的产生 Hmaster(HA)
分布式系统中的主从节点感知!
分布式系统中的配置文件同步!
系统服务器的动态上下线感知!!!
分布式系统中的分布式锁的实现!分布式中的同一个对象
分布式系统中的名称服务!
分布式系统中的负载均衡!
........
Zookeeper的功能其实很简单:就是提供协调服务!
-
协调服务具体来说有三方面:
- 帮使用者存储一些状态信息
- 帮使用者读取一些信息
- 帮使用者监视一些信息的变化,并将变化作为事件通知给使用者
2.核心概念
2.1 Zookeeper的高度可靠性
是一个分布式的系统,多个节点 并且节点中记录的数据是完全一致(一致性) , 当某个zk的节点宕机之后不会影响工作 .
Zookeeper的主节点不存在单点故障!Zookeeper的主节点是可以动态选举出来的!
2.2 Zookeeper的选举机制(奇数台)
Zookeeper的 主节点叫做 leader (1个)
从节点叫做 follower(多个)
注意:
Zookeeper集群的节点数最好配置为奇数!
Zookeeper集群的节点规模一般在3~5台就够!
2.3 Zookeeper的数据存储模型
znode类似于Linux的目录结构(TREE) , 维护了节点的层级关系 ,
真正的数据存储是以key:value的形式存储的!