ZooKeeper的节点操作
ZooKeeper的节点类型
ZooKeeper其实也是一个分布式集群,其中维护了一个目录树结构,在这个目录树中,组成的部分是一个个的节点。ZooKeeper的节点可以大致分为两种类型: 短暂类型 和 持久类型
- 短暂类型ephemeral: 客户端和服务器断开后,创建的节点自己删除。
- 持久类型persistent: 客户端和服务器断开后,创建的节点不删除(默认情况)。
节点类型 | 描述信息 |
---|---|
EPHEMERAL | 临时节点,在会话结束后自动被删除。 |
EPHEMERAL_SEQUENTIAL | 临时顺序节点,在会话结束后会自动被删除。会在给定的path节点名称后添加一个序列号。 |
PERSISTENT | 永久节点,在会话结束后不会被自动删除。 |
PERSISTENT_SEQUENTIAL | 永久顺序节点,在会话结束后不会被自动删除。会在给定的path节点名称后添加一个序列号。 |
ZooKeeper的Shell操作
打开Shell客户端
-
连接到当前节点的Server服务
[root@qianfeng01 ~]# zkCli.sh
复制代码 -
连接到其他节点的Server服务
[root@qianfeng01 ~]# zkCli.sh -server qianfeng02:2181
复制代码
Shell操作
ls
作用: 查看某个节点下的子节点
选项:
-s 查看具体信息,包括time、version等信息
注意事项: 需要使用绝对路径查看
示例:
ls /
ls /zookeeper
ls -s /zookeeper/config
复制代码
create
作用: 创建一个节点,可以设置节点的初始内容
选项:
-e: 设置短暂类型节点
-s: 设置顺序节点
示例:
create /test
create /test2 "content message"
create -e /test3 "content message"
create -e -s /test "content message"
复制代码
get
作用: 获取节点存储的值
选项:
-s: 同时获取版本描述信息,例如: time、version等
示例:
get /zookeeper/config
get -s /zookeeper/config
复制代码
hehe 节点数据信息
cZxid = 0x800000002 节点创建时的zxid
ctime = Thu May 09 03:41:15 CST 2019 节点创建的时间
mZxid = 0x800000002 对应节点最近一次修改的时间,与子节点无关
mtime = Thu May 09 03:41:15 CST 2019 节点最近一次更新的时间
pZxid = 0x800000002 对应节点与子节点(或者子节点)的修改的时间,与孙子节点无关
cversion = 0 子节点数据更新次数
dataVersion = 0 本节点数据更新次数
aclVersion = 0 节点授权信息(ACL)的更新次数
ephemeralOwner = 0x0 如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0
dataLength = 4 节点的数据长度
numChildren = 0 子节点的个数
set
作用: 设置节点存储的值
示例:
set /test "content message"
复制代码
delete
作用: 删除节点&