Apache ZooKeeperhttps://zookeeper.apache.org/官网为: 名字.apache.org
1.zookeep概念
一个团队里面,需要一个leader,leader是干嘛用的?
(分布式协调框架)
1.管理什么的咱不说。
2.外面的人,想问关于这个团队的一切事情,首先就会去找这个leader,因为他知道的最多,而且他的回答最靠谱。
2.zookeep作用
2.1配置中心(已经被取代)
Apollo配置中心:配置信息一致性 => Zookeeper分布式协调服务以外,还是一个小文件存储系统
2.2 负载均衡(已经被取代)
Nginx软件
2.3高可用
PERSISTENT:永久节点,作用:用于实现数据的保存(后期主要是实时数据的保存)
EPHEMERAL:临时节点(主要可以用于实现架构中高可用效果),Zookeeper具有监听感知功能,当hadoop高可用系统中某一结点断开,它存储在zookeeper上的节点文件也会消失。
2.4 实时数据存储
Kafka的数据块就可以使用Zookeeper实现。
3.zookeeper的本质
ZooKeeper本质上是一个==分布式的小文件存储系统==。提供基于类似于文件系统的目录树方式的数据存储(就是文件,每一台连上zookeep集群的机器都会在zookeeper上形成一个文件,然后zookeeper对他们进行感知、负载均衡、配置等操作),并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。
ZK是一个分布式的小文件存储系统 => 分布式、小文件。
① Zookeeper往往都是以分布式集群的模式部署的,Zookeeper因为涉及到选举机制,建议采用奇数个机器。
② 小文件存储系统,也就是说,ZK主要用于小数据(实时数据、做Hadoop高可用)。
ZooKeeper是一个小文件存储系统,其每个节点存储的==最大数据不能超过1M(其小文件系统名字的由来)==。
1M = 1024KB
1KB = 1024B(字节)
1个字节,在英文状态下,相当于一个字符 => (数字、字母、符号)
4.zookeeper架构
ZK的宏观结构:基于C/S架构 => 有客户端也有服务器端,集群由于涉及到选举机制,所以一般采用2n+1的奇数个节点数(n必须大于等于1),3、5、7、9
PERSISTENT:永久节点,作用:用于实现数据的保存(后期主要是实时数据的保存)
EPHEMERAL:临时节点(主要可以用于实现架构中高可用效果),Zookeeper具有监听感知功能,当hadoop高可用系统中某一结点断开,它存储在zookeeper上的节点文件也会消失。
5.zookeeper watcher(监听机制)