• Zookeeper数据模型/watcher/ACL/常用命令


    zookeeper的数据模型和文件系统类似,每一个节点称为:znode.  是zookeeper中的最小数据单元。

    每一个znode上都可以保存数据和挂载子节点。 从而构成一个层次化的属性结构。

    节点特性

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

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

    临时节点 : 临时节点的生命周期和客户端的会话保持一致。当客户端会话失效,该节点自动清理

    临时有序节点 : 在临时节点上多勒一个顺序性特性

    Watcher

    zookeeper提供了分布式数据发布/订阅,zookeeper允许客户端向服务器注册一个watcher监听。当服务器端的节点触发指定事件的时候会触发watcher。服务端会向客户端发送一个事件通知。watcher的通知是一次性,一旦触发一次通知后,该watcher就失效

    ACL

    zookeeper提供控制节点访问权限的功能,用于有效的保证zookeeper中数据的安全性。避免误操作而导致系统出现重大事故。

    CREATE /READ/WRITE/DELETE/ADMIN

    zookeeper的命令操作

    1. create [-s] [-e] path data acl

    -s 表示节点是否有序

    -e 表示是否为临时节点

    默认情况下,是持久化节点

    2. get path [watch]

    获得指定 path的信息

    3.set path data [version]

    修改节点 path对应的data

    乐观锁的概念

    数据库里面有一个 version 字段去控制数据行的版本号

    4.delete path [version]

    删除节点

    stat信息

    cversion = 0       子节点的版本号

    aclVersion = 0     表示acl的版本号,修改节点权限

    dataVersion = 1    表示的是当前节点数据的版本号

    czxid    节点被创建时的事务ID

    mzxid   节点最后一次被更新的事务ID

    pzxid    当前节点下的子节点最后一次被修改时的事务ID

    ctime = Sat Aug 05 20:48:26 CST 2017

    mtime = Sat Aug 05 20:48:50 CST 2017 

    cZxid = 0x500000015

    ctime = Sat Aug 05 20:48:26 CST 2017

    mZxid = 0x500000016

    mtime = Sat Aug 05 20:48:50 CST 2017

    pZxid = 0x500000015

    cversion = 0

    dataVersion = 1

    aclVersion = 0

    ephemeralOwner = 0x0   创建临时节点的时候,会有一个sessionId 。 该值存储的就是这个sessionid

    dataLength = 3    数据值长度

    numChildren = 0  子节点数

     

  • 相关阅读:
    HTML知识点链接
    Apache和PHP的安装
    MySql的安装
    MY_FIRSH_MODULE
    【PAT甲级】1053 Path of Equal Weight (30 分)(DFS)
    Atcoder Grand Contest 039B(思维,BFS)
    Codeforces Round #589 (Div. 2)E(组合数,容斥原理,更高复杂度做法为DP)
    Codeforces Round #589 (Div. 2)D(思维,构造)
    【PAT甲级】1052 Linked List Sorting (25 分)
    【PAT甲级】1051 Pop Sequence (25 分)(栈的模拟)
  • 原文地址:https://www.cnblogs.com/yintingting/p/6575493.html
Copyright © 2020-2023  润新知