$ZOOKEEPER_HOME/bin下的zkCli.sh进入命令行界面,使用help可查看支持的全部命令:html
create用于建立新的节点:数组
create [-s] [-e] path data acl
使用create建立一个节点:服务器
建立节点时的一些选项详解:session
-s和-e都是可选的,用来指定节点的类型,节点的类型有四种:ui
临时节点 临时顺序节点 永久节点 永久顺序节点
-s用于指定建立的节点是不是顺序的,顺序节点就是每次建立子节点的时候都会在已经指定的路径后追加一个从父节点获得的自增id,父节点维护的自增id每次建立子节点时都会加1命令行
-e用于指定节点是不是临时节点仍是持久节点,-e表示ephemeral,表示建立的是临时节点,默认建立的是永久节点。3d
临时节点只能是叶子节点,即不能在临时节点下再建立节点:htm
path:指定要建立的节点的路径,好比/foo/barblog
data:要在此节点上存储的数据递归
acl:访问控制相关
get获取指定节点的数据和属性信息。
get path [watch]
查看根节点的属性信息:
第一行为节点的数据信息,这里由于没有数据因此第一行为空。
cZxid:节点建立时的Zxid
ctime:节点的建立时间
mZxid:节点最近一次更新时的Zxid
mtime:节点最近一次更新的时间
pZxid:添加删除子节点
cversion:子节点数据更新次数
dataVersion:此节点的数据更新次数
aclVersion:节点的acl受权信息更新次数
ephemeralOwner:仅在节点为临时节点时有效,不然为0。若是此节点是临时节点,值为建立此节点的会话的session id
dataLength:此节点存放的数据的长度
numChildren:有多少子节点
get和stat的区别是get比stat多返回了节点数据:
列出指定节点下的全部节点
ls path [watch]
返回结果的数据类型是数组。
与ls不一样的是,ls2除了可以查看此节点下包含的全部节点,还可以查看此节点的相关元信息。
set用于更新节点数据
set path data [version]
path:要更新的节点路径,好比/foo/bar
data:要为节点设置的新数据
version:指定操做的是节点的哪个版本,不指定的话默认是更新最新版本,每次操做版本增长1
delete用于删除节点
delete path [version]
path:要删除的节点的路径,好比/foo/bar
version:要删除的节点版本
delete命令的version做用和set中的version一致,也是用于指定是针对节点的哪一个版本进行操做。
须要注意的是被删除的节点须要是叶子节点,其下不能再有其它节点:
用来删除节点,与delete的区别是delete只能用来删除叶子节点,若是节点下有子节点的话则不能删除,则rmr能够删除非叶子节点,即节点下有子节点时仍能够删除节点,zk中的delete相似于Linux下的rmdir,只能用来删除空目录,而rmr则相似于rm -rf,无论目录下面有什么都递归删除:
使用delete删除/foo时报错删除失败,使用rmr删除/foo时没有消息打印,Unix哲学没有消息就是好消息,说明删除成功。
-n 指定path可以存储的节点数,包括这个节点自己
-b 指定节点下可以存储的数据数据的大小
查看某个节点已经设置的配额:
删除某个路径上对应类型的配额设置,须要注意的是删除节点时并不会自动删除绑定在特定路径上的quota,须要手动删除:
关于配额相关更详细的知识,请查看:Zookeeper笔记之quota
用于链接到zk服务器
用于关闭当前已经打开的链接
查看命令历史:
第一列是命令的编号,第二列是实际执行的命令,与Linux下的history的默认样式差很少,这个命令编号在执行redo时会使用到。
从history的图看到每一个命令都有一个命令编号,当前命令的编号在prompt中显示:
每执行完一条命令此命令编号就会加1.
使用命令编号能够从新执行命令,根据上面history的记录来看第33条命令是get /foo,使用redo来从新执行一下试试:
退出命令行界面
查看支持的全部命令
.