无忧·日更

ZooKeeper 测试

2019-11-04  本文已影响0人  happyJared

进入 ZooKeeper 安装文件夹的 bin 目录,执行以下命令连接 ZooKeeper 服务,连接之前首选要确定 ZooKeeper 服务已经成功启动:

./zkCli.sh -server 127.0.0.1:2181

通过 create 命令在根目录创建 node1 节点,与它关联的字符串是 "node1"

[zk: 127.0.0.1:2181(CONNECTED) 34] create /node1 “node1”

通过 create 命令在 node1 目录创建 node1 节点,与它关联的内容是数字 123

[zk: 127.0.0.1:2181(CONNECTED) 1] create /node1/node1.1 123
Created /node1/node1.1
[zk: 127.0.0.1:2181(CONNECTED) 11] set /node1 "set node1" 

get 命令可以获取指定节点的数据内容和节点状态

get node1

cZxid = 0x47
ctime = Sun Jan 20 10:22:59 CST 2019
mZxid = 0x4b
mtime = Sun Jan 20 10:41:10 CST 2019
pZxid = 0x4a
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 1

通过 ls 命令查看根目录下的节点

[zk: 127.0.0.1:2181(CONNECTED) 37] ls /
[dubbo, zookeeper, node1]

通过 ls 命令查看 node1 目录下的节点

[zk: 127.0.0.1:2181(CONNECTED) 5] ls /node1
[node1.1]

zookeeper 中的 ls 命令和 linux 命令中的 ls 类似, 这个命令将列出绝对路径path下的所有子节点信息(列出1级,并不递归)

通过 stat 命令查看节点状态

[zk: 127.0.0.1:2181(CONNECTED) 10] stat /node1
cZxid = 0x47
ctime = Sun Jan 20 10:22:59 CST 2019
mZxid = 0x47
mtime = Sun Jan 20 10:22:59 CST 2019
pZxid = 0x4a
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 1

ls2 命令就像是 ls 命令和 stat 命令的结合。ls2 命令返回的信息包括2部分:子节点列表 + 当前节点的 stat 信息

[zk: 127.0.0.1:2181(CONNECTED) 7] ls2 /node1
[node1.1]
cZxid = 0x47
ctime = Sun Jan 20 10:22:59 CST 2019
mZxid = 0x47
mtime = Sun Jan 20 10:22:59 CST 2019
pZxid = 0x4a
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 1

需要注意,如果要删除某一个节点,那么这个节点必须无子节点才行

[zk: 127.0.0.1:2181(CONNECTED) 3] delete /node1/node1.1

参考:《从 Paxos 到 Zookeeper 分布式一致性原理与实践》

上一篇下一篇

猜你喜欢

热点阅读