zookeeper=文件系统+通知机制
1.zookeeper:一个领导者(leader),多个跟随者(follower)组成的集群
2.集群中只要有半数以上节点存活,zookeeper集群就能正常服务
3.全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的
4.更新请求顺序进行,来自同一个Client的更新请求按其发送顺序依次执行
5.数据更新原子性,一次数据更新要么成功,要么失败
6.实时性,在一定时间范围内,Client能读到最新数据
zookeeper数据模型结构与Unix文件系统很类似,树形结构,每个节点都能看成ZNode。每一个ZNode默认存储1MB的数据,每个ZNode都可以通过其路径唯一标识。
半数机制:集群中半数以上机器存活,集群可用。所以zookeeper适合安装奇数台服务器
节点类型:持久(persistent):客户端和服务器断开连接后,创建的节点不删除
短暂(Ephemeral):客户端和服务器断开连接后,创建的节点自己删除
(1)持久化目录节点:客户端与zookeeper断开连接后,该节点依旧存在
(2)持久化顺序编号目录节点:客户端与zookeeper断开连接后,该节点依旧存在,只是zookeeper给该节点名称进行顺序编号
(3)临时目录节点:客户端与zookeeper断开连接后,该节点被删除
(4)临时顺序编号目录节点 客户端与zookeeper断开链接后,该节点被删除,只是zookeeper给该节点名称进行顺序编号。
说明:创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护
注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序
A.是一个数字,表示这个是第几号服务器
B.是这个服务器的ip地址
C.是这个服务器与集群中 的Leader服务器交换信息的端口
D.是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的
安装与下载
下载zookeeper:Index of /dist/zookeeper
解压 tar -zxvf zookeeper xsync分发zookeeper
cd zkData
touch myid
分发myid
1
2
3
配置zoo.cfg文件
[root@slave0 conf]# mv zoo_sample.cfg zoo.cfg
dataDir=/opt/module/zookeeper-3.4.10/data/zkData
###增加如下配置
#######################cluster##########################
server.1=new1:2888:3888
server.2=new2:2888:3888
server.3=new3:2888:3888
分发xsync zoo.cfg
在zookeeper上启动 bin/ zkServer.sh start
在zookeeper上查询 bin/ zkServer.sh status
在zookeeper上退出 bin/ zkServer.sh stop
明天将会发布HADOOP全流程,尽情期待
版权归原作者 A墨白 所有, 如有侵权,请联系我们删除。