1、命令帮助
当客户端成功的连接到Zookeeper服务后,我们可以输入任意非法的命令都可以获取Zookeeper客户端相关的命令使用方法
连接到Zookeeper服务后,输入help查看相关命令
ZooKeeper -server host:port cmd args # 宿主机命令行执行Zookeeper客户端命令
stat path [watch] # 查看节点状态或者判断结点是否存在
set path data [version] # 设置节点数据
ls path [watch] # 列出节点信息
delquota [-n|-b] path # 删除节点个数(-n)或数据长度(-b)配额
ls2 path [watch] # ls命令的加强版,列出更多信息
setAcl path acl # 设置节点的权限信息
setquota -n|-b val path # 设置节点个数(-n)或数据长度(-b)的配额
history # 列出最近的命令历史,可以和redo配合使用
redo cmdid # 再次执行某个命令,结合history使用
printwatches on|off # 设置和显示监视状态
delete path [version] # 删除节点,不可删除有子节点的节点
sync path # 强制数据同步
listquota path # 显示节点资源配额信息
rmr path # 强制删除节点
get path [watch] # 获取节点数据
create [-s] [-e] path data acl # 创建顺序(-s)或临时(-e)结点
addauth scheme auth # 配置节点认证信息
quit # 退出连接
getAcl path # 获取节点的权限信息
close # 断开当前Zookeeper连接
connect host:port # 连接Zookeeper服务端
这些命令主要分为五大类:基本信息查看、节点基本操作、资源配额、权限设置、其他操作等,接下来我们分别对这些命令进行学习。
2、连接方式
2.1、本地连接
当Zookeeper服务器正常启动后,我们就可以使用Zookeeper自带的zkCli.sh脚本,以命令行的方式
连接到Zookeeper。使用方法非常简单:zkCli.sh
如果出现下面信息,就表示命令行客户端已经成功连入到Zookeeper
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
2.2、远程连接
zkCli.sh 脚本还提供了远程连接非本地的Zookeeper服务器的参数 -server,使用这个参数就可以连接
到远程的Zookeeper服务主机
命令格式:
zkCli.sh -server <zk_ip>:<zk_port>
远程连接
zkCli.sh -server 192.168.10.27:2181
2.3、关闭连接
[zk: 192.168.10.27:2181(CONNECTING) 0] close
[zk: 192.168.10.27:2181(CLOSED) 1] ls /
Not connected
2.4、重新连接
[zk: 192.168.10.27:2181(CLOSED) 1] connect 192.168.10.27:2181
[zk: 192.168.10.27:2181(CONNECTED) 3] ls /
[zookeeper]
2.5、退出服务
[zk: 192.168.10.27:2181(CLOSED) 5] quit
root@localhost:~#
3、信息查看
3.1、节点列表
关于节点列表主要有ls命令,他们的意思都是"获取路径下的节点信息"
命令格式: ls path 显示当前的节点列表
注意:此path路径为绝对路径
显示普通效果
[zk: 192.168.10.27:2181(CONNECTED) 1] ls /
[zookeeper]
注意:
该结果表示Zookeeper服务端的根目录下有一个Zookeeper的子节点,它是Zookeeper的保留节点,一般不用。
3.2、节点状态
stat命令作用:判断节点是否存在,节点不存在则报错,否则显示节点的状态信息。
命令格式:
stat [ -w ] path
注意:注意事项同ls
# 查看未知节点
[zk: 192.168.10.27:2181(CONNECTED) 5] stat test
Path must start with / character
# 查看已知节点
[zk: 192.168.10.27:2181(CONNECTED) 7] stat /zookeeper
cZxid = 0x0 # 节点创建时的zxid
ctime = Thu Jan 01 08:00:00 CST 1970 # 节点创建时间
mZxid = 0x0 # 节点最近一次更新时的zxid
mtime = Thu Jan 01 08:00:00 CST 1970 # 节点最近一次更新的时间
pZxid = 0x0 # 父节点创建时的zxid
cversion = -2 # 子节点数据更新次数
dataVersion = 0 # 本节点数据更新次数
aclVersion = 0 # 节点ACL(授权信息)的更新次数
ephemeralOwner = 0x0 # 持久节点值为0,临时节点值为sessionid
dataLength = 0 # 节点数据长度
numChildren = 2 # 子节点个数