Zookeeper zkCli.sh常用命令
连接
#连接到zk server。服务器ip:port、连接超时时间(ms),2个参数都可缺省,缺省-server时默认为127.0.0.1:2181
./zkCli -server 192.168.1.9:2181 -timeout 5000
#获取命令帮助,h是help
h
#关闭连接
close
#退出zkCli,退出时会自动关闭连接
quit
节点
#创建节点/mall,缺省参数默认是永久节点
create /mall
#-e是临时节点,-s是顺序节点。原本节点名是/mall,-s会自动在节点名后面加一串数字作为新的节点名,一串数字表示顺序。-e -s可以一起使用。
create -e /mall
#可以携带数据,此处携带的数据是abcd
create /mall abcd
#创建子节点。znode和linux的目录结构差不多的,很多命令也相似。子节点也可以带参数、带数据
create /mall/user
#查看某个节点的所有子节点。只列出子节点,不列出孙节点.....根节点/下有个zookeeper节点,是自带的
ls /
ls /mall
#查看某个节点的状态
stat /mall
#返回值示例
cZxid = 0x6 #创建此节点的事务id。创建此节点是作为事务处理的,c是create
ctime = Sun Apr 19 17:16:14 CST 2020 #此节点创建时间
mZxid = 0x6 #此节点最近一次更新操作的事务id。肯定要是写(更新)操作才加事务
mtime = Sun Apr 19 17:16:14 CST 2020 #此节点最近一次更新操作的时间
pZxid = 0x8 #此节点的子节点列表最近一次修改的事务id
cversion = 1 #子节点列表的版本
dataVersion = 0 #数据版本
aclVersion = 0 #acl版本
ephemeralOwner = 0x0 #用于临时节点,创建临时节点的事务id。如果不是临时节点,值为0
dataLength = 4 #携带的数据的长度
numChildren = 1 #子节点的数量
#查看节点携带的数据
get /mall/user
#设置、修改节点携带的数据
set /mall/user 1234
set /mall/user 1234
#每次设置、更新携带的数据,都会自动将dataVersion+1,这个数据版本号可以实现和mysql乐观锁的version同样的功能
#设置、更新数据时,可以指定数据版本号,但不管版本号指定为多少,结果都是在当前版本号的基础上+1
set /mall/user 1234 4
#删除一个空节点,如果该节点有子节点则删除不了
delete /mall/user
#删除某个节点,如果该节点有子孙节点会递归删除
deleteall /mall
zkServer不是数据库,不要在zkServer上存储大量的数据。储存的数据量过大会影响zkServer的性能。