zookeeper基本操作命令

1、数据模型

zk的数据模型类似于文件系统,每个节点(znode)可以认为是一个文件夹,每个节点下面还可以挂多个子节点,
从而构成一个有层次化的树形结构。不同的是我们每个节点是可以保存数据的

2、节点分类

持久化节点:节点创建后会一直存在zk服务器上,直到主动删除。

持久化有序节点:每个节点都会为它的子节点维护一个顺序编号。

临时节点:临时节点的生命周期和客户端会话保持一致,客户端会话失效,改节点自动删除。
客户端会话:一个客户端的会话包括,未连接—连接中—连接—结束

临时有序节点:在临时节点的特性上维护了一个顺序编号

3、操作命令

创建节点: create [-s] [-e] path data acl 默认情况下为持久化节点
-s代表这个节点是否有序 可选参数
-e代表这个节点是否是临时的 可选参数
path代表路径
data代表数据
acl代表权限 可选参数

acl 
zk提供控制节点的访问权限,用于保证zk的数据安全性,避免失误操作而导致系统出现重大事故
create创建     read只读    write修改    delete删除   admin

get path [watch] 获得指定path的节点数据信息
数据信息:
data(节点中保存的数据信息)
cversion = 0(子节点的版本号)
dataVersion = 1(数据版本号)
aclVersion = 0(acl权限版本号)
cZxid = 0x100000052(创建节点的事务ID)
ctime = Fri Jun 22 17:50:30 CST 2018(节点创建时间)
mZxid = 0x100000052(最后一次更新节点的事务ID)
mtime = Fri Jun 22 17:50:30 CST 2018(节点更新时间)
pZxid = 0x100000052(子节点最后一次被更新的事务ID)
ephemeralOwner = 0x0(用于临时节点,保存临时节点的ID(临时节点的会话ID,会话结束的时候会根据这个ID进行删除临时节点),如果为持久行节点,则其值为0)
dataLength = 4(节点存储的数据的长度)
numChildren = 0(当前节点的子节点的个数)

watch
zk提供分布式数据发布订阅,允许客户端向服务端注册一个watcher监听。
当服务端的节点触发指定事件时候会触发watcher,服务端会想客户端发送一个事件通知,告知客户端服务端发生的变化。
watcher的通知是一次性的,一旦触发一次通知之后该watche就会失效,不关系客户端有没有收到该事件

set path data [version] 修改指定path的节点的数据信息
path代表路径
data代表要存的数据
version代表版本号,乐观锁的概念,默认情况下为0,如果后续这个节点变的话dataversion变为1

delete path [version] 删除指定path的节点,注意:删除时必须从子节点开始逐步往上层删

猜你喜欢

转载自blog.csdn.net/u010994966/article/details/93376919