CC00004.zookeeper——|Hadoop&Zookeeper.V04|——|Zookeeper.v04|命令操作|

一、Zookeeper的基本使用
### --- ZooKeeper命令行操作

~~~     现在已经搭建起了一个能够正常运行的zookeeper服务了,所以接下来,
~~~     就是来借助客户端来将zookeeper的数据节点进行操作
~~~     # 首先,进入到zookeeper的bin目录之后通过zkClient进入zookeeper客户端命令行

./zkcli.sh                                              //  连接本地的zookeeper服务器
./zkCli.sh -server ip:port(2181)                        //  连接指定的服务器
~~~     # 连接成功之后,系统会输出Zookeeper的相关环境及配置信息等信息。
~~~     输入help之后,屏幕会输出可用的Zookeeper命令,如下图所示

[zk: localhost:2181(CONNECTED) 1] help
ZooKeeper -server host:port cmd args
    stat path [watch]
    set path data [version]
    ls path [watch]
    delquota [-n|-b] path
    ls2 path [watch]
    setAcl path acl
    setquota -n|-b val path
    history 
    redo cmdno
    printwatches on|off
    delete path [version]
    sync path
    listquota path
    rmr path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit 
    getAcl path
    close 
    connect host:port
二、创建节点
### --- 使用create命令,可以创建一个Zookeeper节点, 如
~~~     其中,-s或-e分别指定节点特性,顺序或临时节点,若不指定,则创建持久节点

create [-s][-e] path data
### --- 创建顺序节点
~~~     使用 create -s /zk-test 123 命令创建zk-test顺序节点
~~~     执行完后,就在根节点下创建了一个叫做/zk-test的节点,该节点内容就是123,
~~~     同时可以看到创建的zk-test节点后面添加了一串数字以示区别

[zk: localhost:2181(CONNECTED) 2] create -s /zk-test 123
Created /zk-test0000000000
### --- 创建临时节点

~~~     # 使用 create -e /zk-temp 123 命令创建zk-temp临时节
[zk: localhost:2181(CONNECTED) 3] create -e /zk-temp 123
Created /zk-temp

[zk: localhost:2181(CONNECTED) 4] ls /
[zk-test0000000000, zookeeper, zk-temp]
~~~     # 临时节点在客户端会话结束后,就会自动删除,下面使用quit命令退出客户端
[zk: localhost:2181(CONNECTED) 3] quit
Quitting...

~~~     # 再次使用客户端连接服务端,并使用ls / 命令查看根目录下的节点
~~~     可以看到根目录下已经不存在zk-temp临时节点了
[zk: localhost:2181(CONNECTED) 0] ls /
[zk-test0000000000, zookeeper]
### --- 创建永久节点
~~~     使用 create /zk-permanent 123 命令创建zk-permanent永久节点 ,
~~~     可以看到永久节点不同于顺序节点,不会自动在后面添加一串数字
[zk: localhost:2181(CONNECTED) 1] create /zk-permanent 123
Created /zk-permanent
[zk: localhost:2181(CONNECTED) 2] ls /
[zk-permanent, zk-test0000000000, zookeeper]

~~~     # 退出之后重新进入查看永久节点
[zk: localhost:2181(CONNECTED) 0] ls /
[zk-permanent, zk-test0000000000, zookeeper]
三、读取节点
### --- 与读取相关的命令有ls 命令和get 命令
~~~     ls命令可以列出Zookeeper指定节点下的所有子节点,
~~~     但只能查看指定节点下的第一级的所有子节点;
~~~     ls path 其中,path表示的是指定数据节点的节点路径

[zk: localhost:2181(CONNECTED) 5] ls /zookeeper
[quota]
### --- get命令可以获取Zookeeper指定节点的数据内容和属性信息。
~~~     # get path

[zk: localhost:2181(CONNECTED) 6] get /zookeeper

cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
### --- 若获取根节点下面的所有子节点,使用ls / 命令即可

[zk: localhost:2181(CONNECTED) 7] ls /
[zk-permanent, zk-test0000000000, zookeeper]
~~~     # 若想获取/zk-permanent的数据内容和属性,可使用如下命令:get /zk-permanent

[zk: localhost:2181(CONNECTED) 8] get /zk-permanent
123
cZxid = 0x10000000a
ctime = Wed Sep 01 13:06:50 CST 2021
mZxid = 0x10000000a
mtime = Wed Sep 01 13:06:50 CST 2021
pZxid = 0x10000000a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
~~~     # 从上面的输出信息中,

~~~     我们可以看到第一行是节点/zk-permanent 的数据内容,
~~~     其他几行则是创建该节点的事务ID(cZxid)、最后一次更新该节点的事务ID(mZxid)和
~~~     最后一次更新该节点的时间(mtime)等属性信息
四、更新节点
### --- 使用set命令,可以更新指定节点的数据内容,用法如下

set path data
### --- 其中,data就是要更新的新内容version表示数据版本,在zookeeper中,
~~~     节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于Znode的哪一个数据版本进行的,
~~~     如将/zk-permanent节点的数据更新为456,可以使用如下命令:set /zk-permanent 456
~~~     现在dataVersion已经变为1了,表示进行了更新

[zk: localhost:2181(CONNECTED) 10] set /zk-permanent 456
cZxid = 0x10000000a
ctime = Wed Sep 01 13:06:50 CST 2021
mZxid = 0x10000000d
mtime = Wed Sep 01 13:09:20 CST 2021
pZxid = 0x10000000a
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
五、删除节点
### --- 使用delete命令可以删除Zookeeper上的指定节点,用法如下

delete path
### --- 其中version也是表示数据版本,
~~~     使用delete /zk-permanent 命令即可删除/zk-permanent节点
~~~     可以看到,已经成功删除/zk-permanent节点。值得注意的是,若删除节点存在子节点,
~~~     那么无法删除该节点,必须先删除子节点,再删除父节点

[zk: localhost:2181(CONNECTED) 11] delete /zk-permanent
[zk: localhost:2181(CONNECTED) 12] ls /
[zk-test0000000000, zookeeper]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值