Zookeeper 学习(三) zookeeper的shell操作

一,Zookeeper链接

  1.1 普通链接

  1.2 带参数链接

二,使用Zookeeper命令的简单操作步骤

  2.1 查看子节点(ls)

  2.2 创建节点(create)

  2.3 修改节点(set)

  2.4 查看节点数据(get)

  2.5 删除节点(rmr)

  2.6 监听节点(watch)

三,节点类型

  3.1 临时节点

  3.2 永久节点

  3.3 带序号节点

正文

一,Zookeeper链接

  链接zookeeper的API有常用的两种,一种是命令行客户端,而另一种是Java客户端,在这将会对命令行客户端的链接进行讲解。在zookeeper的bin目录中有客户端的可执行文件zkCli.sh用来作为命令行客户端连接,如下图:

  

  1.1 普通链接

   这里的普通链接是指,连接本机的zookeeper服务,链接命令:

zkCli.sh

   下图是个链接实例:

  

  1.2 带参数链接

   带参数链接比普通链接多个参数,是链接到非本机服务端,链接命令:

zkCli.sh -server hd2

二,zookeeper常用命令

  2.1 查看子节点(ls)

// 命令 查看的节点路径(绝对路径) 是否监听
ls path watch
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]

  如实例:

  

  

  2.2 创建节点(create)

// 命令 (节点类型) 节点路径 数据
create [-s] [-e] path data
[zk: localhost:2181(CONNECTED) 2] create /a "hellow world"
Created /a

  如下实例:

  (1),普通永久节点

  

  (2),临时节点

  

  (3),带序号节点

  

  2.3 查看节点数据(get)

// 命令 节点路径 是否watch
get path [watch]
[zk: localhost:2181(CONNECTED) 4] get /a
hellow world
cZxid = 0x5000000006
ctime = Wed Mar 21 20:01:02 CST 2019
mZxid =  0x5000000006
mtime = Wed Mar 21 20:01:02 CST 2019
pZxid =  0x5000000006
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0
[zk: localhost:2181(CONNECTED) 5] 

   如下图示例:

   

   

  2.4 修改节点(set)

// 命令 节点路径 数据
set path data
[zk: localhost:2181(CONNECTED) 6] set /a "watch data"
cZxid = 0x100000002
ctime = Wed Mar 21 20:01:02 CST 2019
mZxid = 0x100000004
mtime = Wed Mar 21 20:04:10 CST 2019
pZxid = 0x100000002
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 7
numChildren = 0
[zk: localhost:2181(CONNECTED) 7] 

  如下示例:

  

  

  2.5 删除节点(rmr)

// 命令 路径
rmr path
[zk: localhost:2181(CONNECTED) 6] rmr /a/b
[zk: localhost:2181(CONNECTED) 6] ls /a
[]

   如下示例:

   

  2.6 监听节点(watch)

   

// 命令 节点路径 watch
get path watch
[zk :locahhost:2181(CONNECTED) 36] get /a watch
hellow world
cZxid = 0x50000000006
cTime = Mon May 13 10:52:38 EDT 2019
mZxid = 0x50000000006
mTime = Mon May 13 10:52:38 EDT 2019
pZxid = 0x5000000000e
cversion = 7
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 3

  上述代码是开启节点监听,当有别的客户端修改了节点/a的数据,改服务端就一会接到消息:如下

  另一客户端修改:

  

  修改后监听后的情况:

  

  下面是另一种节点监听:(监听的是子节点是否有增加或删除)

  

  修改的客户端:

  

三,节点类型

  3.1 临时节点

   创建者一旦跟集群断开联系,zk就会将这个节点删除

  3.2 永久节点

   创建者就算跟集群断开联系,该类节点也会持久存在与zk集群中

  3.3 带序号节点

   这类节点,zk会自动拼接上一个序号,而且序号是递增的

   综上有以下组合类型,在创建的时候配置不同带参数即可:  

  PERSISTENT  :持久不带序号

  EPHEMERAL  :短暂不带序号

  PERSISTENT  SEQUENTIAL   :持久且带序号

  EPHEMERAL  SEQUENTIAL  :短暂且带序号

猜你喜欢

转载自www.cnblogs.com/tashanzhishi/p/10856185.html