ZooKeeper-节点操作:创建、删除、查询节点

1、节点创建

1.1、命令介绍

使用create命令可以来创建一个节点,命令格式如下:
create [-s] [-e] [-c] [-t ttl] path [data] [acl]
注意:  
-s 表示创建的节点是顺序节点。   -e 表示创建的节点是临时节点,这个是create的默认参数。   acl 用于权限控制,Zookeeper的权限控制很强大,默认不使用。

2、节点管理

2.1、创建节点

2.1.1、创建永久节点

# 创建自定义节点
[zk: 192.168.10.27:2181(CONNECTED) 9] create /test1 test1
Created /test1

# 顺序节点的命名格式:名称+序列号(10位数字)
[zk: 192.168.10.27:2181(CONNECTED) 14] create -s /test2 test2
Created /test20000000003
[zk: 192.168.10.27:2181(CONNECTED) 15] create -s /test2 test2
Created /test20000000004
[zk: 192.168.10.27:2181(CONNECTED) 16] create -s /test2 test2
Created /test20000000005

# 查看节点
[zk: 192.168.10.27:2181(CONNECTED) 17] ls /
[test1, test20000000003, test20000000004, test20000000005, zookeeper]

2.1.2、创建临时节点

# 临时节点,其实就是会话节点,当我们的会话结束时候,该节点就会自动删除

[zk: 192.168.10.27:2181(CONNECTED) 18] create -e /sw sw
Created /sw

[zk: 192.168.10.27:2181(CONNECTED) 19] create -s -e /zk zk
Created /zk0000000007

[zk: 192.168.10.27:2181(CONNECTED) 20] ls /
[sw, test1, test20000000003, test20000000004, test20000000005, zk0000000007, zookeeper]

2.2、查看节点状态

[zk: 192.168.10.27:2181(CONNECTED) 25] stat /test1
# 永久节点
ephemeralOwner = 0x0

[zk: 192.168.10.27:2181(CONNECTED) 26] stat /zk0000000007
# 临时节点
ephemeralOwner = 0x10000296c620008

2.3、创建子节点

# 只有持久节点才可以创建子节点,这也应照了四种节点的状态

# 临时节点,创建不了子节点
[zk: 192.168.10.27:2181(CONNECTED) 4] create -e /zk01
Created /zk01
[zk: 192.168.10.27:2181(CONNECTED) 5] create -e /zk01/test test
Ephemerals cannot have children: /zk01/test

# 创建子节点
[zk: localhost:2181(CONNECTED) 2] create -s /test1/test test
Created /test1/test0000000000

# 查看子节点
[zk: localhost:2181(CONNECTED) 3] ls /test1
[test0000000000]

2.4、删除节点

2.4.1、命令介绍

删除节点有两种方式:正规删除和强制删除。
命令格式:
正规删除:delete path [version]
强制删除:deleteall path
 
注意:
 注意事项同ls
 delete只能删除不包含子节点的节点

2.4.2、正规删除

# 子节点,不能删除直接父节点
[zk: localhost:2181(CONNECTED) 8] ls /test1
[test0000000000]

[zk: localhost:2181(CONNECTED) 9] delete /test1
Node not empty: /test1

# 需要删除子节点,再删除父节点
[zk: localhost:2181(CONNECTED) 10] delete /test1/test0000000000 
[zk: localhost:2181(CONNECTED) 11] delete /test1

# 使用delete删除节点的时候,只能删除不包含子节点的节点

2.4.3、强制删除

[zk: localhost:2181(CONNECTED) 13] deleteall /test20000000003
posted @ 2023-05-30 17:35  小粉优化大师  阅读(2652)  评论(0编辑  收藏  举报