zookeeper学习笔记系列
命令基本语法 | 功能描述 |
---|---|
help | 显示所有操作命 |
ls path | 使用 ls 命令来查看当前 znode 的子节点 [可监听] -w 监听子节点变化 -s 附加次级信息 |
create | 普通创建 -s 含有序列 -e 临时(重启或者超时消失) |
get path | 获得节点的值 [可监听] -w 监听节点内容变化 -s 附加次级信息 |
set | 设置节点的具体值 |
stat | 查看节点状态 |
delete | 删除节点 |
deleteall | 递归删除节点 |
- 启动客户端
在node1服务器连接node2服务器的zookeeper
[root@localhost apache-zookeeper-3.6.2-bin]# bin/zkCli.sh -server 192.168.9.129:2181
[zk: 192.168.9.129:2181(CONNECTED) 0]
- 查看当前znode的内容
[zk: 192.168.9.129:2181(CONNECTED) 1] ls /
[zookeeper]
- 查看当前节点信息
[zk: 192.168.9.129:2181(CONNECTED) 6] ls -s /
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
- 创建普通节点
创建两个节点
[zk: 192.168.9.129:2181(CONNECTED) 9] create /one "1"
Created /one
[zk: 192.168.9.129:2181(CONNECTED) 14] create /one/jia "甲"
Created /one/jia
- 获得节点值
[zk: 192.168.9.129:2181(CONNECTED) 11] get /one
1
[zk: 192.168.9.129:2181(CONNECTED) 15] get -s /one
1
cZxid = 0x400000004
ctime = Tue Jan 11 16:07:48 CST 2022
mZxid = 0x400000004
mtime = Tue Jan 11 16:07:48 CST 2022
pZxid = 0x400000006
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 1
numChildren = 1
[zk: 192.168.9.129:2181(CONNECTED) 16] get /one/jia
甲
- 创建短暂节点
[zk: 192.168.9.129:2181(CONNECTED) 17] create -e /two/jia "甲"
Created /two/jia
[zk: 192.168.9.129:2181(CONNECTED) 18] ls /two
[jia]
[zk: 192.168.9.129:2181(CONNECTED) 19] quit
[root@localhost apache-zookeeper-3.6.2-bin]# bin/zkCli.sh -server 192.168.9.129:2181
[zk: 192.168.9.129:2181(CONNECTED) 0] ls /two
[]
- 创建带序号的节点
序号会从存在的第n个节点依次增加,这里从1增加,因为two分叉上曾经有过节点
[zk: 192.168.9.129:2181(CONNECTED) 1] create -s /two/jia "甲"
Created /two/jia0000000001
[zk: 192.168.9.129:2181(CONNECTED) 2] create -s /two/yi "乙"
Created /two/yi0000000002
[zk: 192.168.9.129:2181(CONNECTED) 3] create -s /two/bing "丙"
Created /two/bing0000000003
- 修改节点数据值
[zk: 192.168.9.129:2181(CONNECTED) 5] set /one/jia "jia"
- 节点值变化监听
首先在node3启动客户端,注册监听
[root@localhost ~]# cd /opt/apache-zookeeper-3.6.2-bin
[root@localhost apache-zookeeper-3.6.2-bin]# bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 2] get -w /one
1
然后在node1上改变
[zk: 192.168.9.129:2181(CONNECTED) 7] set /one "一"
查看node3是否反馈
[zk: localhost:2181(CONNECTED) 3]
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/one
- 节点的路径变化监听
首先在node3启动客户端,注册监听
[root@localhost ~]# cd /opt/apache-zookeeper-3.6.2-bin
[root@localhost apache-zookeeper-3.6.2-bin]# bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 2] ls -w /one
1
然后在node1上改变
[zk: 192.168.9.129:2181(CONNECTED) 14] delete /one/jia
查看node3是否反馈
[zk: localhost:2181(CONNECTED) 8]
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/one
- 删除节点
[zk: 192.168.9.129:2181(CONNECTED) 9] delete /one/jia
[zk: 192.168.9.129:2181(CONNECTED) 10] ls /one
[]
- 递归删除节点
[zk: 192.168.9.129:2181(CONNECTED) 17] deleteall /two
[zk: 192.168.9.129:2181(CONNECTED) 18] ls /
[one, zookeeper]
- 查看节点状态stat
[zk: localhost:2181(CONNECTED) 0] stat /one
cZxid = 0x400000004
ctime = Tue Jan 11 16:07:48 CST 2022
mZxid = 0x400000011
mtime = Tue Jan 11 16:30:06 CST 2022
pZxid = 0x400000016
cversion = 6
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0