Python全系列 教程
3567个小节阅读:5929.8k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
命令基本语法 | 功能描述 |
---|---|
help | 显示所有操作命令 |
ls path | 使用 ls 命令来查看当前znode的子节点 -w 监听子节点变化 -s 附加次级信息 |
create | 普通创建 -s 含有序列 -e 临时(重启或者超时消失) |
get path | 获得节点的值 -w 监听节点内容变化 -s 附加次级信息 |
set | 设置节点的具体值 |
stat | 查看节点状态 |
delete | 删除节点 |
deleteall | 递归删除节点 |
quit | 退出客户端 |
启动三个节点上ZKServer,然后在某一个节点上启动一个客户端
xxxxxxxxxx
#node2、node3、node4上同时执行命令
zkServer.sh start
#node2、node3、node4查看启动的状态
zkServer.sh status
#在node4上启动一个客户端
[root@node4 ~]# zkCli.sh
help显示所有的命令
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
addauth scheme auth
close
config [-c] [-w] [-s]
connect host:port
create [-s] [-e] [-c] [-t ttl] path [data] [acl]
delete [-v version] path
deleteall path
delquota [-n|-b] path
get [-s] [-w] path
getAcl [-s] path
history
listquota path
ls [-s] [-w] [-R] path
ls2 path [watch]
printwatches on|off
quit
reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
redo cmdno
removewatches path [-c|-d|-a] [-l]
rmr path
set [-s] [-v version] path data
setAcl [-s] [-v version] [-R] path acl
setquota -n|-b val path
stat [-w] path
sync path
查看指定节点下的所有内容
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]
查看指定节点详细信息以及它的子节点
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 2] ls2 /
'ls2' has been deprecated. Please use 'ls [-s] path' instead.
[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: localhost:2181(CONNECTED) 3] 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
监听查看,创建节点
xxxxxxxxxx
#node4
[zk: localhost:2181(CONNECTED) 4] ls -w /
[zookeeper]
#node3
[zk: localhost:2181(CONNECTED) 0] create /wzyy "phone game"
Created /wzyy
#node4上的变化
[zk: localhost:2181(CONNECTED) 5]
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/
获取节点信息
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 4] get /wzyy
phone game
获取节点的详细信息
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 5] get -s /wzyy
phone game #节点中保存的数据,可以保存1MB的数据
cZxid = 0x300000005 #创建事务id。3(它是0000 0003省略表示方式)表示Leader改变过三次。
ctime = Mon Sep 13 09:42:19 CST 2021 #该节点的创建时间
mZxid = 0x300000005 #修改的事务id,创建后没有被修改过,使用创建时的事务id
mtime = Mon Sep 13 09:42:19 CST 2021 #修改此节点的时间,没有被修改过,使用时创建的时间
pZxid = 0x300000005 #记录子级节点的最大事务id
cversion = 0
dataVersion = 0 #数据的版本号,每改一次该节点的数据,版本号加1
aclVersion = 0
ephemeralOwner = 0x0 #该节点对应的session的id
dataLength = 10 #节点中数据的长度
numChildren = 0 #该节点下子级节点的数量
创建普通临时节点
xxxxxxxxxx
#创建临时节点
[zk: localhost:2181(CONNECTED) 14] create -e /wzyy/test 'qqq'
Created /wzyy/test
[zk: localhost:2181(CONNECTED) 15] ls /wzyy
[fashi, sheshou, test]
[zk: localhost:2181(CONNECTED) 15] quit
[root@node3 ~]# zkCli.sh
[zk: localhost:2181(CONNECTED) 15] ls /wzyy
[fashi, sheshou] #发现子节点test小时
创建顺序节点
xxxxxxxxxx
#创建普通顺序节点
[zk: localhost:2181(CONNECTED) 1] create -s /wzyy/zhanshi 'putongshunxu'
Created /wzyy/zhanshi0000000003
[zk: localhost:2181(CONNECTED) 2] create -s /wzyy/zhanshi 'putongshunxu2'
Created /wzyy/zhanshi0000000004
[zk: localhost:2181(CONNECTED) 3] ls /wzyy
[fashi, sheshou, zhanshi0000000003, zhanshi0000000004]
#创建临时顺序节点
[zk: localhost:2181(CONNECTED) 4] create -s -e /wzyy/tanke 'se1'
Created /wzyy/tanke0000000005
修改节点的值
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 10] get /wzyy/fashi
yuancheng
[zk: localhost:2181(CONNECTED) 11] set /wzyy/fashi "yuancheng_edit"
[zk: localhost:2181(CONNECTED) 12] get /wzyy/fashi
yuancheng_edit
监控节点值的变化
xxxxxxxxxx
#node4
[zk: localhost:2181(CONNECTED) 6] get -w /wzyy/fashi
yuancheng_edit
#node3上
[zk: localhost:2181(CONNECTED) 13] set /wzyy/fashi "yuancheng_update"
#node4
[zk: localhost:2181(CONNECTED) 7]
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/wzyy/fashi
删除节点
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 14] ls /wzyy
[fashi, sheshou, tanke0000000005, zhanshi0000000003, zhanshi0000000004]
[zk: localhost:2181(CONNECTED) 15] delete /wzyy/zhanshi0000000004
[zk: localhost:2181(CONNECTED) 16] ls /wzyy
[fashi, sheshou, tanke0000000005, zhanshi0000000003]
递归删除
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 18] ls /wzyy/fashi
[wangzhaojun]
[zk: localhost:2181(CONNECTED) 19] delete /wzyy/fashi
Node not empty: /wzyy/fashi
[zk: localhost:2181(CONNECTED) 20] rmr /wzyy/fashi #deleteall /wzyy/fashi
#建议使用deleteall进行递归删除
The command 'rmr' has been deprecated. Please use 'deleteall' instead.
[zk: localhost:2181(CONNECTED) 21] ls /wzyy
[sheshou, tanke0000000005, zhanshi0000000003]
查看节点的状态
xxxxxxxxxx
[zk: localhost:2181(CONNECTED) 22] stat /wzyy
cZxid = 0x300000005
ctime = Mon Sep 13 09:42:19 CST 2021
mZxid = 0x300000005
mtime = Mon Sep 13 09:42:19 CST 2021
pZxid = 0x300000015
cversion = 9
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 3