zookeeper节点类型详解
1)Znode有两种类型:
- 短暂(ephemeral):客户端和服务器端断开连接后,创建的节点自己删除
- 持久(persistent):客户端和服务器端断开连接后,创建的节点不删除
2)Znode有四种形式的目录节点(默认是persistent )
(1)持久化目录节点(PERSISTENT)
客户端与zookeeper断开连接后,该节点依旧存在
(2)持久化顺序编号目录节点(PERSISTENT_SEQUENTIAL)
客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
(3)临时目录节点(EPHEMERAL)
客户端与zookeeper断开连接后,该节点被删除
(4)临时顺序编号目录节点(EPHEMERAL_SEQUENTIAL)
客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号
1)Znode有两种类型:
- 短暂(ephemeral):客户端和服务器端断开连接后,创建的节点自己删除
- 持久(persistent):客户端和服务器端断开连接后,创建的节点不删除
2)Znode有四种形式的目录节点(默认是persistent )
(1)持久化目录节点(PERSISTENT)
客户端与zookeeper断开连接后,该节点依旧存在
(2)持久化顺序编号目录节点(PERSISTENT_SEQUENTIAL)
客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
(3)临时目录节点(EPHEMERAL)
客户端与zookeeper断开连接后,该节点被删除
(4)临时顺序编号目录节点(EPHEMERAL_SEQUENTIAL)
客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号
3)创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护
4)在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序
zookeeper节点命令
zkCli.sh 登录服务端
-
./zkCli*sh -timeout 3000 -server localhost:2181 -r
-r readonly
默认 -timeout 3000 -server localhost:2181 -
ls path [watch]
列出指定节点下的所有一级子节点。 -
ls2 path [watch]
ls + stat -
get path [watch]
列出节点的数据 + stat -
set path data [version]
给节点添加数据或者修改节点的数据。 -
create [-s] [-e] path data acl
创建节点-s:
表示节点为顺序节点-e:
表示节点为临时节点acl:
访问控制列表 -
delete path [watch]
删除节点 -
stat path [watch]
列出节点信息key value cZxid = 0x31
节点被创建时的事物的ID ctime = Sat Mar 16 15:38:34 CST 2019
创建时间 mZxid = 0x31
节点最后一次被修改时的事物的ID mtime = Sat Mar 16 15:38:34 CST 2019
最后一次修改时间 pZxid = 0x31
子节点列表最近一次呗修改的事物ID cversion = 0
子节点版本号 dataVersion = 0
数据版本号 aclVersion = 0
ACL版本号 ephemeralOwner = 0x0
创建临时节点的事物ID,持久节点事物为0 dataLength = 22
数据长度,每个节点都可保存数据 numChildren = 0
子节点的个数 -
listquota path
列出节点的限制 -
setquota -n|-b val path
设置节点的限制-n:
表示子节点的最大个数-b:
表示数据值的最大长度 -
delquota [-n|-b] path
删除节点的限制 -
setAcl path acl
设置节点的权限
acl格式:schema:id:permision
schema:
ip|digest|world|auth|id:
ip|userName:string|anyone|permision:
crwdac:
create 创建子节点r:
read 获得节点数据和子节点列表w:
write 更新节点数据d:
delete 删除子节点a:
admin 设置节点的ACL -
getAcl path
获得节点的权限的列表 -
sync path
-
rmr pat
递归删除节点 -
printwatches on|off
-
addauth scheme auth
注册会话授权信息schema: ip:digest
auth: ip|username:password
-
history
历史命令 -
redo cmdno
重新执行命令* cmdno为 history输出的命令号 -
quit
退出客户端 -
close
关闭连接,不退出可客户端 -
connect host:port
连接服务端