一:理论
1.概括与特性
概括
分布式协调框架,基于树
特性
全局一致性
原子性
可靠性
顺序性
实时性
3.角色
zookeeper分2种角色,
leader:事务处理顺序性,服务的调度
follower:处理非事务请求,转发事务给leader,参与leader选举
4.数据模型znode
兼具文件与目录两种特点
原子性操作
存储大小有限kb
路径引用---绝对路径
znode组成:stat 状态,data 关联数据, children子节点
二:安装
前置条件安装java,可以参考另一篇文章————链接
检测
集群时间是否一致
防火墙是否关闭
主机,ip映射配置
下载
zk3.4.5.tar.gz
安装
tar zxvf zkxx
配置
conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/root/data/zdata
server.1=mini1:2888:3888 #心跳端口,选举端口
server.2=mini2:2888:3888
server.3=mini3:2888:3888
cd /root/data/zdata
vi myid
1
环境变量配置
vim /ect/profile
export ZK_HOME=/home/hadoop/zookeeper
export PATH=ZK_HOME/bin
source /ect/profile
测试启动
./bin/zkServer.sh start
所有机器均启动
./binzkServer.sh status
三:实践
创建节点
create /node data
删除节点
delete /node 节点不要有子节点
查看子节点
ls /node
查看某节点
get /node
设置数据
set /node newdata
分布式锁有两块:
第一块就是保持独占,第二块就是控制时序
控制时序,就是创建template\sequence节点
clientA00001,clientA00002,clientA00003
按顺序访问