zookeeper节点类似于树的形式进行保存
zookeeper节点类型
- 永久节点:已创建就会一直保存,直到手动删除
- 临时节点:一旦session断开,临时节点便会删除
zookeeper每个数据节点之间都有一个版本号,在每次修改数据的时候对应的版本号回增加。
zookeeper的节点不适合存放大量的数据
zookeeper使用场景:
- 分布式锁
- dubbo的注册中心
可以使用apache-zookeeper-3.5.6-bin\bin下的zkCli.cmd连接本地或者远程启动的zookeeper,下面是zkCli的使用命令
使用powershell进入到apache-zookeeper-3.5.6-bin\bin目录下
在windows下运行的是.cmd文件,在Linux下运行的是.sh文件
.\zkCli.cmd 不填后面的参数,默认连接的是localhost:2181
连接远程服务器
.\zkCli.cmd -timeout 5000 -r -server ip:2181
查看帮助文档
./zkCli.sh h
创建一个节点
create [-s] [-e] [-c] [-t ttl] path [data] [acl]
-s 顺序创建
-e 创建一个临时节点
path 创建的路径
data 节点中存放的数据
acl 权限相关
创建一个节点
create -s /kangswx kangswx
Created /kangswx0000000000,后面的数据随着创建的节点增加
查看节点里面的数据
获取节点的子节点:ls path
ls /
获取节点的数据:get path
get /kangswx0000000000
kangswx --返回数据
查看节点的状态: stat path
stat /kangswx0000000000
cZxid = 0x5 --事务id
ctime = Sun Oct 27 11:47:38 CST 2019 --节点创建的时间
mZxid = 0x5 --最后一次更新时事务id
mtime = Sun Oct 27 11:47:38 CST 2019 --最后一次更新的时间
pZxid = 0x5 --该节点的子节点列表最后一次被修改的事务id
cversion = 0 --子节点列表的版本
dataVersion = 0 --数据局内容的版本
aclVersion = 0 --acl版本
ephemeralOwner = 0x0 --用于临时节点,表示创建该临时节点的事务id,非临时节点为空
dataLength = 7 --数据内容的长度
numChildren = 0 --子节点的数量查看节点的子节点以及当前节点的状态
ls -s /kangswx0000000000
[data]cZxid = 0x5 --子节点
ctime = Sun Oct 27 11:47:38 CST 2019 --当前节点
mZxid = 0x5
mtime = Sun Oct 27 11:47:38 CST 2019
pZxid = 0x8
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 1
修改节点中的数据: set [-s] [-v version] path data
set /kangswx0000000000 kangsw2222
删除一个节点
- 删除某个节点,如果当前节点存在子节点则不允许删除: delete [-v version] path
- 递归删除1:rmr path
- 递归删除2: deleteall path
zookeeper常用命令zkCli使用
版权声明:本文为kangswx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。