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