• Zookeeper基本数据模型


    ZooKeeper基本数据模型

    3.1 基本数据模型介绍

    • zk的数据模型也可以理解为linux/unix的文件目录: /usr/local/...
    • 每一个节点都称之为znode, 它可以有子节点, 也可以有数据
    • 每个节点分为临时节点和永久节点,临时节点在客户端断开后消失
    • 每一个zk节点都有各自的版本号, 可以通过命令行来显示节点信息
    • 每当节点数据发生变化, 那么该节点的版本号会累加(乐观锁)
    • 删除/修改过时节点, 版本号不匹配会报错
    • 每个zk节点存储的数据不宜过大, 几k即可
    • 节点可以设置权限acl, 可以通过权限来限制用户的访问

    3.2 ZooKeeper数据模型的基本操作

    • 客户端连接

      • $ZOOKEEPER_HOME/bin 运行zkServer.sh start 开启zookeeper

      • 进入客户端

        ./zkCli.sh
        
        2018-12-29 02:23:22,904 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1235] - Session establishment complete on server localhost/0:0:0:0:0:0:0:1:2181, sessionid = 0x167f60ba5ea0002, negotiated timeout = 30000
        
        WATCHER::
        
        WatchedEvent state:SyncConnected type:None path:null
        [zk: localhost:2181(CONNECTED) 0]
        
        • ls 列出目录 help 查看帮助
        WatchedEvent state:SyncConnected type:None path:null
        [zk: localhost:2181(CONNECTED) 0] ls /
        [zookeeper]
        [zk: localhost:2181(CONNECTED) 1] ls /zookeeper
        [quota]
        [zk: localhost:2181(CONNECTED) 2] ls /zookeeper/quota
        []
        [zk: localhost:2181(CONNECTED) 3] help
        ZooKeeper -server host:port cmd args
                stat path [watch]
                set path data [version]
                ls path [watch]
                delquota [-n|-b] path
                ls2 path [watch]
                setAcl path acl
                setquota -n|-b val path
                history
                redo cmdno
                printwatches on|off
                delete path [version]
                sync path
                listquota path
                rmr path
                get path [watch]
                create [-s] [-e] path data acl
                addauth scheme auth
                quit
                getAcl path
                close
                connect host:port
        
        
    • 查看znode结构

      • ls 列出目录 help 查看帮助

        WatchedEvent state:SyncConnected type:None path:null
        [zk: localhost:2181(CONNECTED) 0] ls /
        [zookeeper]
        [zk: localhost:2181(CONNECTED) 1] ls /zookeeper
        [quota]
        [zk: localhost:2181(CONNECTED) 2] ls /zookeeper/quota
        []
        [zk: localhost:2181(CONNECTED) 3] help
        ZooKeeper -server host:port cmd args
                stat path [watch]
                set path data [version]
                ls path [watch]
                delquota [-n|-b] path
                ls2 path [watch]
                setAcl path acl
                setquota -n|-b val path
                history
                redo cmdno
                printwatches on|off
                delete path [version]
                sync path
                listquota path
                rmr path
                get path [watch]
                create [-s] [-e] path data acl
                addauth scheme auth
                quit
                getAcl path
                close
                connect host:port
        
    • 关闭客户端连接 ctrl+c

    莫见乎隐,莫显乎微,故君子慎其独也。
  • 相关阅读:
    js怎么通过逗号将string转换成数组
    设置mysql数据库为只读
    python 关于django 2.X from django.contrib.auth.views import login
    python Django2.X,报错 ‘learning_logs ’is not a registered namespace,如何解决?
    python django2.x报错No module named 'django.core.urlresolvers'
    python Django2.0如何配置urls文件
    VMware vSphere 组件和功能
    VMware vSphere Client的简单使用教程
    python 逻辑运算 ‘and’ ,'or' 在实战中的作用,代替if语句。
    python_urllib2:urlerror和httperror
  • 原文地址:https://www.cnblogs.com/xinyonghu/p/11031961.html
Copyright © 2020-2023  润新知