Zookeeper3.5.7版本——客户端命令行操作(节点类型)
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper3.5.7版本——客户端命令行操作(节点类型)相关的知识,希望对你有一定的参考价值。
目录
一、命令行语法
- 命令行语法列表
命令基本语法 功能描述 help 显示所有操作命令 ls path 使用 ls 命令来查看当前 znode 的子节点 [可监听] -w 监听子节点变化 -s 附加次级信息 create 普通创建 -s 含有序列 -e 临时(重启或者超时消失) get path 获得节点的值 [可监听] -w 监听节点内容变化 -s 附加次级信息 set 设置节点的具体值 stat 查看节点状态 delete 删除节点 deleteall 递归删除节点
二、节点类型
2.1、持久化目录节点
- 持久(Persistent):客户端和服务器端断开连接后,创建的节点不删除(即该节点依旧存在)。
2.2、持久化顺序编号目录节点
- 持久(Persistent)有序号:客户端与Zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号。
- 创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。
- 注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。
2.3、临时目录节点
- 短暂(Ephemeral):客户端与Zookeeper断开连接后,该节点被删除。
2.4、临时顺序编号目录节点
- 短暂(Ephemeral)有序号:客户端与 Zookeeper 断开连接后 , 该 节 点 被 删 除 , 只是Zookeeper给该节点名称进行顺序编号。
- 创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护。
- 注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序。
三、创建节点示例
3.1、创建永久节点(不带序号)
-
使用 create 命令创建永久节点(不带序号)
[zk: localhost:2181(CONNECTED) 0] create /user "zhangsan"
-
断开客户端
[zk: localhost:2181(CONNECTED) 2] quit
-
再重新连接,使用 get -s 命令查看获得节点的值是否存在,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点依旧存在。
[zk: localhost:2181(CONNECTED) 0] get -s /user
3.2、创建永久节点( 带序号)
-
使用 create -s 命令创建永久节点(带序号)
[zk: localhost:2181(CONNECTED) 1] create -s /user lisi
-
断开客户端
[zk: localhost:2181(CONNECTED) 2] quit
-
再重新连接,使用 get 命令查看获得节点的值是否存在并且是否有序号,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点依旧存在并且有序号。
[zk: localhost:2181(CONNECTED) 0] get /user0000000001
3.3、创建短暂节点( 不带序号)
-
使用 create -e 命令创建建短暂节点( 不带序号)
[zk: localhost:2181(CONNECTED) 0] create -e /role admin
-
断开客户端
[zk: localhost:2181(CONNECTED) 2] quit
-
再重新连接,使用 get -s 命令查看获得节点的值是否存在,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点被删除。
3.4、创建短暂节点(带序号)
-
使用 create -e -s 命令创建短暂节点(带序号)
[zk: localhost:2181(CONNECTED) 1] create -e -s /role administrator
-
断开客户端
[zk: localhost:2181(CONNECTED) 2] quit
-
再重新连接,使用 get 命令查看获得节点的值是否存在并且是否有序号,由下图输出结果可知:客户端与Zookeeper断开连接后,该节点被删除。
[zk: localhost:2181(CONNECTED) 2] get /role0000000004
3.5、修改节点数据值
-
先查看创建的永久节点user的值为zhangsan
[zk: localhost:2181(CONNECTED) 1] get /user
-
使用 set 命令修改节点user的数据值为wangwu
[zk: localhost:2181(CONNECTED) 2] set /user "wangwu"
-
再次查看永久节点user的值,已修改为wangwu
[zk: localhost:2181(CONNECTED) 3] get /user
以上是关于Zookeeper3.5.7版本——客户端命令行操作(节点类型)的主要内容,如果未能解决你的问题,请参考以下文章
Zookeeper3.5.7版本——客户端命令行操作(znode 节点数据信息)
Zookeeper3.5.7版本——客户端命令行操作(节点删除与查看)
Zookeeper3.5.7版本——客户端命令行操作(监听器原理)