下载zookeeper安装包
解压
复制conf下zoo.cfg文件
启动zookeeper sh zkServer.sh start
使用客户端
sh ZkCli.sh
zookeeper存储方式是key value形式的 创建删除查询修改节点
使用help命令
create 创建 create /orderservice 0 【path】【value】
使用ls /查看我们创建的目录
创建节点wsdl节点
create /orderservice/wsdl http:192.168.0.1?wsdl
删除必须一层层的删除
delete /orderservice/wsdl
节点特性
节点要有唯一性,类似于windows创建文件夹D盘下不存在名称相同的同级文件夹
临时节点和持久化节点
有序节点和无序节点
临时节点下不能存在子节点
集群搭建
server.id=ip:port:port
第一个端口:通信用的
第二个端口:选举leader用的
server.1=172.100.23.110:2888:3888
server.2=172.100.20.99:2888:3888
server.3=172.100.23.205:2888:3888
然后在/temp/zookeeper/下创建myid文件
章节回顾
zoo.cfg详解
ticktime 单位毫秒心跳时间
initLimit 10个ticktime
synclimit 5个ticktime 同步时间 leader follower
dataDir 不建议放在tmp文件 存放日志文件
clientPort 对外提供的端口
mZxid 更新事务id
cZxid 创建事务id
假如没有更新数据则这两个id是一样的
pZxid 子节点事务id(子节点变更后才会产生pxid的影响)
version是一个乐观锁的概念通过版本号控制
cversion(当前节点子节点版本号)
dataversion(当前节点数据内容版本号)
aclversion(权限变更版本号)
三个版本号是来控制数据的并发性的
ephemeralOwner 只有临时节点才会存在
例子
ACL 设置访问权限
create/read/write/delete/admin
集群角色
非事务请求可以落到任意节点,如果事务请求落到非leader节点会转发到leader
数据模型
会话
not_connected----------------------connecting--------------connected--------close
zookeeper使用场景
配置中心(基于watcher机制动态感知配置变化)
负载均衡(知道机器状态,选举master)
分布式锁