zookeeper--客户端脚本【三】

我们来看下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这个出错信息,可以看出无法删除一个包含子节点的节点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
zookeeper-3.4.5-cdh5.16.2.tar.gz 是一个压缩文件,其中包含的是 ZooKeeper 分布式协调服务的安装包。ZooKeeper 是一个开源的分布式应用程序协调服务,它为分布式系统提供了高度可靠的协调功能。 在这个压缩文件中,"zookeeper-3.4.5" 表示 ZooKeeper 的版本号为 3.4.5,而 "cdh5.16.2" 则表示此版本是基于 Cloudera 发行版 5.16.2。Cloudera 是一个提供基于 Apache Hadoop 的大数据解决方案的公司,他们针对 ZooKeeper 进行了一些修改和适配,以便更好地与其它 Cloudera 软件产品集成。 .tar.gz 是一个常见的压缩格式,通常用于在 Linux 系统中打包和分发文件。使用该格式,文件被打包成一个.tar 文件,然后使用 gzip 压缩算法进行压缩,最终生成一个.tar.gz 文件。 为了使用这个安装包,我们可以按照以下步骤进行操作: 1. 首先,我们需要解压缩.tar.gz 文件。可以使用命令 "tar -zxvf zookeeper-3.4.5-cdh5.16.2.tar.gz" 解压缩该文件。执行完该命令后,会生成一个目录,其中包含了 ZooKeeper 安装包的所有文件。 2. 进入解压后的目录,在其中可以找到 ZooKeeper 的配置文件、示例配置文件和一些其他的脚本文件。 3. 根据自己的需求,修改配置文件。一般需要修改的配置包括 ZooKeeper 服务器集群的地址和端口,以及一些日志和存储文件的路径。 4. 配置完毕后,可以启动 ZooKeeper 服务器。通过运行脚本文件 "bin/zkServer.sh",以指定的模式(例如单机模式、主从模式等)启动服务器。 5. 一旦服务器启动,您就可以使用 ZooKeeper 客户端与其进行交互了。客户端提供了一组命令,可以帮助您管理分布式系统中的节点和数据。 总之,zookeeper-3.4.5-cdh5.16.2.tar.gz 是一个用于安装和部署 ZooKeeper 的文件压缩包,通过解压缩、配置和启动等步骤,您可以在您的分布式系统中使用 ZooKeeper 提供的协调功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值