Zookeeper笔记之命令行操做

$ZOOKEEPER_HOME/bin下的zkCli.sh进入命令行界面,使用help可查看支持的全部命令:html

image

 

1、节点相关操做

create [-s] [-e] path data acl

create用于建立新的节点:数组

create [-s] [-e] path data acl

使用create建立一个节点:服务器

image

建立节点时的一些选项详解:session

-s和-e都是可选的,用来指定节点的类型,节点的类型有四种:ui

临时节点
临时顺序节点
永久节点
永久顺序节点

-s用于指定建立的节点是不是顺序的,顺序节点就是每次建立子节点的时候都会在已经指定的路径后追加一个从父节点获得的自增id,父节点维护的自增id每次建立子节点时都会加1命令行

image 

-e用于指定节点是不是临时节点仍是持久节点,-e表示ephemeral,表示建立的是临时节点,默认建立的是永久节点。3d

临时节点只能是叶子节点,即不能在临时节点下再建立节点:htm

image

path:指定要建立的节点的路径,好比/foo/barblog

data:要在此节点上存储的数据递归

acl:访问控制相关

 

get path [watch]

get获取指定节点的数据和属性信息。

get path [watch]

查看根节点的属性信息:

image

第一行为节点的数据信息,这里由于没有数据因此第一行为空。

cZxid:节点建立时的Zxid

ctime:节点的建立时间

mZxid:节点最近一次更新时的Zxid

mtime:节点最近一次更新的时间

pZxid:添加删除子节点

cversion:子节点数据更新次数

dataVersion:此节点的数据更新次数

aclVersion:节点的acl受权信息更新次数

ephemeralOwner:仅在节点为临时节点时有效,不然为0。若是此节点是临时节点,值为建立此节点的会话的session id

dataLength:此节点存放的数据的长度

numChildren:有多少子节点

 

stat path [watch]

get和stat的区别是get比stat多返回了节点数据:

image

 

ls path [watch]

列出指定节点下的全部节点

ls path [watch]

image 

返回结果的数据类型是数组。

 

ls2 path [watch]

与ls不一样的是,ls2除了可以查看此节点下包含的全部节点,还可以查看此节点的相关元信息。

image

 

set path data [version]

set用于更新节点数据

set path data [version]

path:要更新的节点路径,好比/foo/bar

data:要为节点设置的新数据

version:指定操做的是节点的哪个版本,不指定的话默认是更新最新版本,每次操做版本增长1

 

delete path [version]

delete用于删除节点

delete path [version]

path:要删除的节点的路径,好比/foo/bar

version:要删除的节点版本

delete命令的version做用和set中的version一致,也是用于指定是针对节点的哪一个版本进行操做。

须要注意的是被删除的节点须要是叶子节点,其下不能再有其它节点:

image 

 

rmr path

用来删除节点,与delete的区别是delete只能用来删除叶子节点,若是节点下有子节点的话则不能删除,则rmr能够删除非叶子节点,即节点下有子节点时仍能够删除节点,zk中的delete相似于Linux下的rmdir,只能用来删除空目录,而rmr则相似于rm -rf,无论目录下面有什么都递归删除:

image

使用delete删除/foo时报错删除失败,使用rmr删除/foo时没有消息打印,Unix哲学没有消息就是好消息,说明删除成功。

 

printwatches on|off

sync path

 

2、ACL相关

setAcl path acl

getAcl path

addauth scheme auth

 

3、配额相关

setquota -n|-b val path

-n 指定path可以存储的节点数,包括这个节点自己

-b 指定节点下可以存储的数据数据的大小

image91[1]

 

listquota path

查看某个节点已经设置的配额:

image8

 

delquota [-n|-b] path

删除某个路径上对应类型的配额设置,须要注意的是删除节点时并不会自动删除绑定在特定路径上的quota,须要手动删除:

image11[1]

 

关于配额相关更详细的知识,请查看:Zookeeper笔记之quota

 

4、链接管理相关

connect host:port

用于链接到zk服务器

close

用于关闭当前已经打开的链接

 

5、命令历史相关

history

查看命令历史:

image 

第一列是命令的编号,第二列是实际执行的命令,与Linux下的history的默认样式差很少,这个命令编号在执行redo时会使用到。

redo cmdno

从history的图看到每一个命令都有一个命令编号,当前命令的编号在prompt中显示:

image

每执行完一条命令此命令编号就会加1.

使用命令编号能够从新执行命令,根据上面history的记录来看第33条命令是get /foo,使用redo来从新执行一下试试:

image

 

6、其它

quit

退出命令行界面

 

help

查看支持的全部命令

 

 

.

相关文章
相关标签/搜索