Zookeeper 节点与客户端操作命令
zookeeper 节点的属性
- dataVersion: 数据版本号,每对节点进行一次 set 操作,dataVersion 的值都会增加 1
- cversion: 子节点版本号,当子节点有变化时,cversion 的值就会加1
- aclVersion: ACL 版本号
- cZxid: Znode 创建的事物 ID
- mZxid: Znode 被修改的事物 ID,每修改一次 Znode,都会更新 mZxid
- ctime: 节点创建的时间戳
- mtime: 节点最新一次更新的时间戳
- ephemeralOwner: 如果该节点为临时节点,那么该值将会与该节点的 session id 绑定,如果该节点为非临时节点,则为 0。
zookeeper 客户端命令
创建节点
创建节点的命令格式create [-s] [-e] /path data acl
- -s 代表序列化
- -e 代表临时节点,临时节点在连接断开后,过一段时间会被删除(不会立刻删除)
- path: 节点的路径
- data: 节点的数据
- acl: 进行权限控制
# 创建节点
create /testzk 123
# 创建临时节点
create /tempnode 121
读取节点
zookeeper 节点有三个命令
- ls:
ls [-s] [-w] [-R] path
能够查看 zookeeper 指定节点下的所有子节点 - get:
get [-s] [-w] path
查看指定节点的数据内容 - stat:
stat [-w] path
查看节点属性信息
参数
- -s: 用于查看节点状态或者属性信息
- -w: 设置观察者
- -R: 递归显示子节点
# 查看根节点下的所有节点
ls /
# 查看节点数据
get /tempnode
# 查看节点数据同时查看节点状态
get -s /tempnode
# 查看节点属性信息
stat /testzk
更新节点的值
更新 zookeeper 节点的命令格式set [-s] [-v version] path data
- s: 显示状态
set /testzk newdata
删除节点
删除 zookeeper 节点的命令
- delete: 删除特定路劲下的节点
- deleteall: 删除特定路劲下的所有子节点
# 删除节点
delete /path
# 删除所有节点下的子节点
deleteall /path
节点的限制
增加节点限制setquota -n|-b val path
- n: 限制子节点的个数
- b: 限制节点数据的字节数
- val: 限制的数值,-1代表没有限制
PS:对于节点的限制只是一个温和性的限制,如果创建的节点数超出限制,会在日志文件中爆出警告,但不会限制新节点的创建。
列出所有节点的限制listquota path
删除节点限制delquota [-n|-b] path
# 限制字节点的个数
setquota -n 2 /quota_test
# 限制子节点的字节数
setquota -b 5 /quota_test
# 列出节点限制
listquota /quota_test
# 删除节点限制
delquota /quota_test
查看历史命令
查看客户端的命令历史,最多只能显示 11 条
# 查看历史命令
history
# 重做命令
redo 5
退出客户端
# 退出客户端
quit