您的位置:首页 > 其它

如何使用客户端对ZooKeeper进行操作。

2017-11-30 14:46 357 查看
        进入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 这个出错信息,可以看出无法删除一个包含子节点的节点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐