美文网首页
Zookeeper数据模型

Zookeeper数据模型

作者: 名字已被使用咋整 | 来源:发表于2018-11-22 12:44 被阅读9次

    一、zookeeper基本数据模型

    1.zk存储的数据是树形结构,可以理解为类似Linux文件目录

    2.每一个节点都称为znode,它可以有自己的节点,也可以有数据

    3.每个节点可以分为永久节点和临时节点,临时节点在客户端断开后(并且超过心跳机制设置的时间以后)会消失。session失效后,临时节点中的数据也会消失。

    4.每个zk节点都有自己的版本号,可以通过命令来显示节点信息

    5.每当节点数据发生变化以后,该节点版本号会累加(乐观锁)

    6.删除或者修改节点时,如果版本号不匹配会报错

    7.每个节点的数据不易过大

    8.节点可以设置操作权限

    二、zk客数据模型基本操作

    1.启动zk服务  ./zkServer.sh start

    2.打开客户端连接  ./zkCli.sh

    3.进行znode节点操作

    4.关闭连接(ctrl+c)

    三、详细操作

    打开连接后,输入help命令

    1.ls 和ls2命令

    ls:查看每个节点

    输入ls2 path:会显示当前节点的信息

    dataVersion:数据版本号

    aclVersion:权限版本号

    ephemeralOwner:是永久节点还是临时节点

    2.创建节点  create 

    create  路径  数据内容  (acl是权限,这里先不使用)

    create -e 路径 数据   (是创建临时节点),根据ephemeralOener可以判断出

    create -s 路径 数据  (创建顺序节点)

    3.获取数据

    get 路径 

    4.修改

    set  路径  数据

    set /zookeeper/zk abc  

    dataVersion版本号发生变化

    set 路径 数据 版本号(修改的时候可以带上版本号),如果版本号不是当前版本号,则会报错

    5.删除节点

    可以带版本号,可以不带,如果带版本号,需要跟当前数据匹配度的版本号,否则报错

    6.节点权限

    getAcl  路径  (查看这个节点的权限)

    acl构成  [scheme:id:permissions]

    ①scheme:采用哪种权限机制

    world:只有一个id,就是anyone

    auth:认证登录  auth:user:password:[permissions]

    digest:需要对密码进行加密才可以访问

    digest:user:BASE64(SHA1(password)):[permissions]

    ip:限制ip

    super:拥有所有权限

    ② permissions:权限  cdrwa是权限字符串缩写

    create 创建节点权限

    delete 删除节点权限

    read 获取节点权限

    write 设置节点权限

    admin 设置权限

    二、watch机制

    1.针对每一个节点操作,都会有一个监督者,watcher是一个时间

    2.当监督的某个对象(znode)发生变化,就会触发watcher时间

    3.zookeeper中的watcher是一次性的。出发后会立即销毁。

    4.父节点,子节点增删改都会触发watcher时间

    三、watch事件类型

    1.父节点

    创建父节点触发:NodeCreated

    修改父节点触发:nodeCreateChanged事件

    删除父节点触发:NodeDeleted事件

    2.子节点

    创建子节点/删除子节点,都会是NodeChildrenChanged

    修改子节点,不会触发任何事件

    相关文章

      网友评论

          本文标题:Zookeeper数据模型

          本文链接:https://www.haomeiwen.com/subject/bewkqqtx.html