Zookeeper(三)客户端脚本
来源:互联网 发布:约到优质学生炮 知乎 编辑:程序博客网 时间:2024/05/03 21:37
我们来看下zkCli这个脚本。进入ZooKeeper的bin目录后,直接执行如下命令:
$sh zkCli.sh
当看到如下输出信息时,表示已经成功连接上本地的ZooKeeper服务器了。
WatchedEvent state:SyncConnected type:Node path:null
[zk:localhost:2181(CONNECTED)0]
注意上面的命令没有显式地指定ZooKeeper服务器地址,那么默认是连接本地ZooKeeper服务器。如果希望连接指定ZooKeeper服务器,可以通过如下方式实现:、
$sh zkCli.sh -server ip:port
创建
使用create命令,可以创建一个ZooKeeper节点。用法如下:
create [-s] [-e] path data acl
其中,-s或-e分别指定节点特性:顺序或临时节点。默认情况下即不添加-s或-e参数的,创建的是持久节点。
执行如下命令:
[zk:localhost:2181(CONNECTED)0] create /zk-book 123
Created /zk-book
执行完上面的命令,就在ZooKeeper的根节点下创建了一个叫做/zk-book的节点,并且节点的数据内容是“123”。另外,create命令的最后一个参数是acl,它是用来进行全线控制的,缺省情况下,不做任何权限控制。关于ZooKeeper权限控制,后面我们会介绍
读取
与读取相关的命令包括ls命令和set命令
ls
使用ls命令,可以列出ZooKeeper指定节点下的所有子节点。当然,这个命令只能考到指定节点下第一级的所有子节点。用法如下:
ls path [watch]
其中 path表示的是指定数据节点的节点路径。
执行如下命令:
[zk:localhost:2181(CONNECTED)0] ls /
[zookeeper]
第一次部署的ZooKeeper集群,默认在根节点"/"下面有一个叫做/zookeeper的保留节点。
get:
使用get命令,可以获取ZooKeeper指定节点的数据内容和属性信息。用法如下:
get path [watch]
执行如下命令:
[zk:localhost:2181(CONNECTED)0] get /zk-book
123
cZxid=0xa
ctime=Thu Jun 20 10:35:00 UTC 2013
mZxid=0xa
mtime=Thu Jun 20 10:35:00 UTC 2013
pZxid=0xa
cversion=0
dataVersion=0
aclVersion=0
ephemeralOwner=0x0
dataLength=3
numChildren=0
从上面的输出信息中,我们可以看到,第一行是节点/zk-book的数据内容,其他几行则是创建该节点的事务ID(cZxid),最后一次更新该节点的事务ID(mZxid)和最后一次更新该节点的时间(mtime)等属性信息。关于ZooKeeper节点的数据结构,在后面讲解。
更新
使用set命令可以更新指定节点的数据内容。用法如下:
set path data【version】
其中,data就是要更新的内容。注意,set命令后面还有一个version参数。在ZooKeeeper中,节点的数据是由版本概念的,这个用于指定本次更新操作时基于ZNode的哪一个版本进行的。
执行如下命令:
[zk:localhost:2181(CONNECTTED)3] set /zk-book 456
cZxid = 0xa
ctime = Thu jun 20 10:35:00 UTC 2013
mZxid = 0x11
mtime = Fri Jun 21 01:05:49 UTC 2013
pZxid = 0xa
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
执行完以上命令后,节点/zk-book的数据内容就已经被更新成“456”了。细心的读者还会发现,在输出信息中,dataVersion的值由原来的0变成了1,这是因为刚才的更新操作导致该节点的数据版本也发生了变更。关于ZNode的数据版本,将在后面做详细解释,这里只是演示简单操作,不再详细展开。
删除
使用delete命令,可以删除ZooKeeper上的指定节点。用法如下:
delete path [version]
此命令中的version参数和set命令中的version参数的作用是一致的。
执行如下命令:
[zk:localhost:2181(CONNECTED)2] delete /zk-book
执行完以上命令后,就可以把/zi-book这个节点成功删除了。但是这里要注意的一点是:要想删除某一个指定节点,该节点必须没有子节点存在。这可以通过执行如下命令来进行验证:
[zk:localhost:2181(CONNECTED) 7] create /zk-book 123
Create /zk-book
[zk:localhost:2181(CONNECTED) 8] create /zk-book/child 12345
Created /zk-book/child
[zk:localhost:2181(CONNECTED) 9] delete /zk-book
Node not empty:..zk-book
上面的这个输出结果已经很清晰地表明了删除失败,通过Node not empty这个出错信息,可以看出无法删除一个包含子节点的节点。
注:博主后面工作会比较忙,晚上也没有时间在忙。估计要停更一段时间,不过等忙完这一阵,博主会努力加油更新的。
- Zookeeper(三)客户端脚本
- zookeeper客户端脚本
- ZooKeeper客户端脚本使用
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- zookeeper学习之三(Curator客户端)
- Zookeeper入门学习(三)--Zookeeper客户端使用
- zookeeper使用(三)--Curator客户端操作zookeeper
- Zookeeper入门学习(三)--Zookeeper客户端使用
- ZooKeeper实践四:客户端脚本
- zookeeper入门(二)——zk客户端脚本使用
- 三款zookeeper客户端介绍
- Zookeeper(二)客户端
- ZooKeeper客户端脚本zkCli.sh的节点操作
- Zookeeper(三)配置
- 基于hibernate4的BaseDao接口
- 每天一个linux命令(9):touch 命令
- 多线程中的Future模式及其在高性能IO框架netty中的应用
- 大小端转换htonl、ntohl、htons、ntohs
- android社区
- Zookeeper(三)客户端脚本
- 怎样用ECharts绘制一个简单的柱形图表
- 坚持#第136天~循循渐进!
- Angular与.NetMVC一起使用
- 自创的 TplTool,一个简单易用的前端模版JS组件(2016年小小成果)
- JavaEE Spring框架学习笔记(AOP基本应用实例)
- C++程序员学习发展方向分析和指导,学习参考!
- Android实现炫酷SVG动画效果
- Swift 特殊关键字