Zookeeper 的数据模型,节点属性,以及命令。
2018-03-17 21:41
309 查看
Zookeeper的数据模型,在结构上跟linux系统的文件目录结构非常相似,只不过它的每一个目录都可以当作一个节点,即Znode,可以用来存储小型数据,每个节点也可以拥有子节点。
节点的特性如下:
1.Znode兼具文件和目录两种特点, 即它可以存数据,同样也是目录,所有具有节点全局唯一的特点。
2.Znode具有原子性操作。读写操作,以及每一个节点还有自己的ACL,访问控制列表,限定了特定用户对目标节点可以执行的操作。
3.Znode存储大小具有限制,由于它的强一致性,它只适用于用来管理调度配置等数据,如分布式应用中的配置文件信息,状态信息,汇集位置等等,这些数据通常都是很小的数据,以kb为大小单位。zookeeper的服务器和客户端都被设计为严格检查,并限制每个Znode的数据大小至多1M,常规应用中应远小于此值。
4.Znode只能通过绝对路径引用。为了保证全局唯一性,只允许通过绝对路径引用。
“/zookeeper" 为默认节点,用以保存管理信息,比如关键配置信息。
每一个Znode都由三部分组成,
stat:状态信息, 描述此Znode的版本时间权限等信息。
data:与该Znode关联的数据。
children:该Znode下的子节点。
Znode类型:
临时节点:该节点的生命周期依赖于创建它的会话,一旦会话结束,临时节点将被自动删除,也可以手动删除。临时节点没有子节点。
永久节点:该节点的生命周期不依赖于会话,并且只有在客户端显式执行删除操作时,它们才能被删除。
Znode节点还有一个序列化的特性, 如果创建时指明为序列化节点,则该节点被创建时,节点名后面默认跟10位序列号,序列号对于此父节点来说是唯一的。对于此父节点来说是唯一的。对于此父节点来说是唯一的。
创建节点(不带参数时默认为持久化节点):
create 节点名 节点值 [acl]
PERSISTENT: 永久节点 create /pnode p EPHEMERAL: 临时节点
create -e /enode e PERSISTENT_SEQUENTIAL: 永久序列化节点
create -s /psnode ps EPHEMERAL_SEQUENTIAL: 临时序列化节点create -e -s /esnode es 节点内容
ls 节点路径 // 显示此节点下的子节点
ls2 节点路径 // 显示此节点下子节点,以及节点信息(所关联数据除外)
get 节点路径 // 显示此节点信息(包含数据信息)
stat 节点路径 // 显示此节点信息(不包含子节点,不包含数据信息)
set 节点路径 数据 // 设置节点数据
history // 显示历史命令
redo 历史命令序号 // 重复此命令操作
delete 节点路径 // 删除节点(若有子节点,则无法删除)
rmr 节点路径 // 可以删除带有子节点的节点
quota(配额,软限定):
listquota 节点路径 // 显示此节点配额
setquota -n 3 /hello // 设置/hello节点下共有3个节点(包含自身)
setquota -b 30 /hello // 设置 /hello节点下的数据值最大长度为30 (包含自身节点的数据长度)
delquota [-n|-b] path // 删除节点配额
get path [watch] // 设置watch,如果值被改变,则会返回给客户端信息
close // 关闭与zk的连接
quit //退出会话
节点的特性如下:
1.Znode兼具文件和目录两种特点, 即它可以存数据,同样也是目录,所有具有节点全局唯一的特点。
2.Znode具有原子性操作。读写操作,以及每一个节点还有自己的ACL,访问控制列表,限定了特定用户对目标节点可以执行的操作。
3.Znode存储大小具有限制,由于它的强一致性,它只适用于用来管理调度配置等数据,如分布式应用中的配置文件信息,状态信息,汇集位置等等,这些数据通常都是很小的数据,以kb为大小单位。zookeeper的服务器和客户端都被设计为严格检查,并限制每个Znode的数据大小至多1M,常规应用中应远小于此值。
4.Znode只能通过绝对路径引用。为了保证全局唯一性,只允许通过绝对路径引用。
“/zookeeper" 为默认节点,用以保存管理信息,比如关键配置信息。
每一个Znode都由三部分组成,
stat:状态信息, 描述此Znode的版本时间权限等信息。
data:与该Znode关联的数据。
children:该Znode下的子节点。
Znode类型:
临时节点:该节点的生命周期依赖于创建它的会话,一旦会话结束,临时节点将被自动删除,也可以手动删除。临时节点没有子节点。
永久节点:该节点的生命周期不依赖于会话,并且只有在客户端显式执行删除操作时,它们才能被删除。
Znode节点还有一个序列化的特性, 如果创建时指明为序列化节点,则该节点被创建时,节点名后面默认跟10位序列号,序列号对于此父节点来说是唯一的。对于此父节点来说是唯一的。对于此父节点来说是唯一的。
创建节点(不带参数时默认为持久化节点):
create 节点名 节点值 [acl]
PERSISTENT: 永久节点 create /pnode p EPHEMERAL: 临时节点
create -e /enode e PERSISTENT_SEQUENTIAL: 永久序列化节点
create -s /psnode ps EPHEMERAL_SEQUENTIAL: 临时序列化节点create -e -s /esnode es 节点内容
ls 节点路径 // 显示此节点下的子节点
ls2 节点路径 // 显示此节点下子节点,以及节点信息(所关联数据除外)
get 节点路径 // 显示此节点信息(包含数据信息)
stat 节点路径 // 显示此节点信息(不包含子节点,不包含数据信息)
set 节点路径 数据 // 设置节点数据
history // 显示历史命令
redo 历史命令序号 // 重复此命令操作
delete 节点路径 // 删除节点(若有子节点,则无法删除)
rmr 节点路径 // 可以删除带有子节点的节点
quota(配额,软限定):
listquota 节点路径 // 显示此节点配额
setquota -n 3 /hello // 设置/hello节点下共有3个节点(包含自身)
setquota -b 30 /hello // 设置 /hello节点下的数据值最大长度为30 (包含自身节点的数据长度)
delquota [-n|-b] path // 删除节点配额
get path [watch] // 设置watch,如果值被改变,则会返回给客户端信息
close // 关闭与zk的连接
quit //退出会话
相关文章推荐
- ZooKeeper数据模型、命名空间以及节点的概念
- ZooKeeper系列之二:ZooKeeper数据模型、命名空间以及节点的概念
- ZooKeeper系列之二:ZooKeeper数据模型、命名空间以及节点的概念
- ZooKeeper系列之二:ZooKeeper数据模型、命名空间以及节点的概念
- ZooKeeper系列之二:ZooKeeper数据模型、命名空间以及节点的概念
- Zookeeper 命令和查看节点数据
- Zookeeper的数据模型、节点、角色
- 2 weekend110的zookeeper的原理、特性、数据模型、节点、角色、顺序号、读写机制、保证、API接口、ACL、选举、 + 应用场景:统一命名服务、配置管理、集群管理、共享锁、队列管理
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
- zookeeper学习之节点数据模型<十一>
- Zookeeper系列(4)--ZK概述,数据模型,节点特性,Watcher机制、ACL及数据存储
- BOM__Document对象简介-三种获取节点方式,通过节点层次关系获取节点,以及对象中的属性操作
- Zookeeper的数据模型
- 【转载】zookeeper数据模型
- java中如何遍历实体类的属性和数据类型以及属性值
- DDD:谈谈数据模型、领域模型、视图模型和命令模型
- java中如何遍历实体类的属性和数据类型以及属性值
- Infopath中,自己编写的ActiveX控件,为何不能绑定数据到XML属性节点
- DOM(包括获取元素节点的方法以及获取和设置元素节点的属性)