命令行使用zkCli.sh操作ZooKeeper

通过zkCli.sh连接到ZooKeeper
# 什么参数也不加直接链接到本机
zkCli.sh
 
# 指定链接上具体的服务器节点
zkCli.sh -server node2:2181
 
#把所有服务器地址加上
zkCli.sh -server node1:2181,node2:2181,node3:2181
 
#退出zkCli.sh
quit
 
列举节点
ls /
 
ls / watch 或者 ls -w /
 
#watch 或者 -w - 监听当前节点及其节点增减(create/delete node)的变化,只监听一次,监听到了就从监听列表中移除监听了。需要再次监听还得重来
 
创建永久节点
create /myNode nodeData

 

创建临时节点

create -e /myTmpNode nodeData
 
#临时节点当客户端链接断开且设置的超时时间(默认超时时间tickTime=2000,即2s)一过就会被删除

 

创建带序列的节点

create -s /mySequenceNode nodeData
 
#zk自动添加的序列号是全局的,创建完成后要获取节点的信息得加上序列号

 

 获取节点信息
get /myNode [watch]
nodeData
cZxid = 0x1a000004a8
ctime = Tue Jun 30 09:34:46 CST 2020
mZxid = 0x1a000004a8
mtime = Tue Jun 30 09:34:46 CST 2020
pZxid = 0x1a000004a8
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0
 
#nodeData - 第一行是节点的值
#cZxid - 节点创建事务编号
#ctime - 节点创建时间
#mZxid - 节点最后更新事务编号
#mtime - 节点最后修改时间
#pZxid - 节点最后更新的子节点事务编号
#cversion - 节点的子节点修改次数
#dataVersion - 节点数据变化号
#aclVersion - 节点访问控制列表变化号
#ephemeralOwner - 节点是临时节点的时候的sessionid
#dataLength - 节点数据长度
#numChildren - 节点的子节点个数
 
#带watch - 监听节点数据的变化(更新值、删除当前节点)。只监听一次,监听到了就从监听列表移除,重新监听得重新watch

 

 设置节点值
set /myNode nodeData1
 
#重复设置同一个节点的值覆盖原来的值

 

 查看节点状态信息
stat /myNode
cZxid = 0x1a000004e8
ctime = Tue Jun 30 11:29:26 CST 2020
mZxid = 0x1a000004f9
mtime = Tue Jun 30 13:58:43 CST 2020
pZxid = 0x1a000004e8
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0

 

删除没有子节点的节点,有子节点的节点删除用rmr

delete /myNode

 

递归删除节点,子节点也会被删除
rmr /myNode

 

 
 
 
posted @ 2021-02-22 22:20  天蝎(Scorpion)  阅读(365)  评论(0编辑  收藏  举报