如何使用客户端对ZooKeeper进行操作。
来源:互联网 发布:数据库关键字查询 编辑:程序博客网 时间:2024/06/06 00:23
进入ZooKeeper的bin目录之后,直接执行如下命令:
$ sh zkCli.sh
当看到如下输出信息时,表示已经成功连接上本地的ZooKeeper服务器了:
注意,上面的命令没有显示地指定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
执行完上面的命令,就在ZooKeeper的根节点创建了一个叫做/zk-book的节点,并且节点的数据内容是“123”.另外,create命令的最后一个参数是acl,他是用来进行权限控制的,缺省情况下,不做任何权限控制。
读取
与读取相关的命令包括ls命令和set命令。
ls
使用ls命令,可以列出ZooKeeper指定节点下的所有子节点。当然,这个命令只能看到指定节点下第一级的所有子节点。用法如下:
ls path [watch]
其中,path 表示的是指定数据节点的节点路径。
执行如下命令:
[zk : localhost:2181(CONNECTED) 0] ls /
第一次部署的ZooKeeper集群,默认在根节点“/”下面有一个叫做/zookeeper的保留节点。
get
使用get命令,可以获取ZooKeeper指定节点的数据内容和属性信息。用法如下:
get path [watch]
执行如下命令:
[zk :localhost:2181(CONNECTED) 0] get /zk-book
从上面的输出信息中,我们可以看到,第一行是节点/zk-book的数据内容,其他几行则是创建该节点的事务ID(cZxid)、最后一次更新该节点的事务ID(mZxid)和最后一次更新该节点的时间(mtime)等属性信息。
更新
使用set命令,可以更新指定节点的数据内容。用法如下:
set path data [version]
其中,data就是要更新的新内容。注意,set命令后面还有一个version参数,在ZooKeeper中,节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于ZNode的哪一个数据版本进行的。
执行如下命令:
[zk: localhost:2181(CONNECTED) 3] set /zk-book 456
执行完以上命令后,节点/zk-book的数据内容就已经被更新成“456”了。在输出信息中,dataVersion的值由原来的0变成了1,这是因为刚才的更新操作导致该节点的数据版本也发生了变更。
删除
使用delete命令,可以删除ZooKeeper上的指定节点。用法如下:
delete path [version]
此命令中的version参数和set命令中的version参数的作用是一致的。
执行如下命令:
[zk: localhost:2181(CONNECTED) 2] delete /zk-book
执行完以上命令后,就可以把/zk-book这个节点成功删除了。但是这里要注意的一点是,要想删除某一个指定节点,该节点必须没有子节点存在。这可以通过执行如下命令来进行验证:
上面的这个输出结果已经很清晰的表明了删除失败,通过Node not empty 这个出错信息,可以看出无法删除一个包含子节点的节点。
- 如何使用客户端对ZooKeeper进行操作。
- 使用Java客户端API操作Zookeeper
- 使用zookeeper对进程进行加锁
- 【ZooKeeper Notes 7】使用super身份对有权限的节点进行操作
- 【ZooKeeper Notes 7】使用super身份对有权限的节点进行操作
- zookeeper使用(三)--Curator客户端操作zookeeper
- 如何使用JDOM对XML文件进行操作
- 如何使用C#对虚拟磁盘文件(VHD)进行操作
- .NET 使用书签如何对Word模板进行操作
- 使用git如何批量对文件进行rm操作
- 如何使用Ado.net对数据库进行增删改操作
- java 如何使用缓冲区对文件进行读写操作
- 如何对端口进行操作
- zookeeper 客户端操作
- ZooKeeper 客户端操作
- zookeeper客户端命令操作
- 使用变量对yum客户端进行配置
- 【ZooKeeper Notes 6】客户端对zookeeper的操作是不可回退的 [OK]
- matlab-isnan function
- 决斗场
- 安卓沉浸式
- [经验]Class MediaTransCoder is implemented in both One of the two will be used. Which one is undefined
- 字符串匹配的Boyer Moore算法_阮一峰
- 如何使用客户端对ZooKeeper进行操作。
- 《转行机器学习》一、我想转行
- 笔记-SVM
- 函数的重载
- python学习浅谈(python2.x以及python3.x的区别、IDE)
- 抽象类与接口区别
- Venom漏洞的危害性相对于Heartbleed漏洞而言较小
- Linux查看系统配置常用命令
- Libxml2的简单介绍及应用