管理ZooKeeper存储
创建Znodes
1、连接到ZooKeeper:bin/zkCli.sh -server 127.0.0.1:2181
2、用给定的路径创建一个znode。flag参数指定创建的znode是临时的,持久的还是顺序的。默认情况下,所有znode都是持久的
—–当会话过期或客户端断开连接时,临时节点(flag:-e)将被自动删除
—–顺序节点保证znode路径将是唯一的,ZooKeeper集合将向znode路径填充10位序列号。例如,znode路径 /myapp 将转换为/myapp0000000001,下一个序列号将为/myapp0000000002。
3、创建一个新的持久的znode并将字符串“first-data”与节点相关联
[zk: localhost:2181(CONNECTED) 0] create /FirstZnode "first-data"
Created /FirstZnode
[zk: localhost:2181(CONNECTED) 1] get /FirstZnode
first-data
cZxid = 0x100000002
ctime = Wed Jul 03 18:57:13 CST 2019
mZxid = 0x100000002
mtime = Wed Jul 03 18:57:13 CST 2019
pZxid = 0x100000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0
4、创建一个临时的znode并将字符串“temp-data”与节点相关联
[zk: localhost:2181(CONNECTED) 7] create -e /SecondZnode "temp-data"
Created /SecondZnode
5、创建一个顺序的znode并将字符串“order-data”与节点相关联
[zk: localhost:2181(CONNECTED) 12] create -s /ThirdZnode "order-data"
Created /ThirdZnode0000000003
管理znodes数据
6、发出另一个ls /命令以查看目录的外观
[zk: localhost:2181(CONNECTED) 6] ls /
[zookeeper, FirstZnode]
7、通过运行get命令验证数据是否与znode相关联
[zk: localhost:2181(CONNECTED) 1] get /FirstZnode
first-data
cZxid = 0x100000002
ctime = Wed Jul 03 18:57:13 CST 2019
mZxid = 0x100000002
mtime = Wed Jul 03 18:57:13 CST 2019
pZxid = 0x100000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0
注意:如果是顺序的znode的需要get全路径,例如:get /ThirdZnode0000000003
8、通过发出set命令来更改与zk_test关联的数据
[zk: localhost:2181(CONNECTED) 3] set /FirstZnode "lasting-data"
cZxid = 0x100000002
ctime = Wed Jul 03 18:57:13 CST 2019
mZxid = 0x100000004
mtime = Wed Jul 03 18:58:54 CST 2019
pZxid = 0x100000002
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 0
创建子项/子节点
创建子节点类似于创建新的znode。唯一的区别是,子znode的路径也将具有父路径。
例如在FirstZnode节点下再创建Child1节点:
[zk: localhost:2181(CONNECTED) 21] create /FirstZnode/child1 "child1-data"
Created /FirstZnode/child1
[zk: localhost:2181(CONNECTED) 23] ls /FirstZnode
[child1]
检查状态
状态描述指定的znode的元数据。它包含时间戳,版本号,ACL,数据长度和子znode等细项
[zk: localhost:2181(CONNECTED) 24] stat /FirstZnode
cZxid = 0x100000002
ctime = Wed Jul 03 18:57:13 CST 2019
mZxid = 0x100000004
mtime = Wed Jul 03 18:58:54 CST 2019
pZxid = 0x10000000c
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 1
删除节点
删除没有子节点的节点:delete /SecondZnode
删除有子节点的节点需要用:rmr /FirstZnode
文档更新时间: 2019-07-04 10:36 作者:子木