美文网首页工作生活
Zookeeper | 基本操作

Zookeeper | 基本操作

作者: icebreakeros | 来源:发表于2019-07-04 07:58 被阅读0次

    基本操作

    ZooKeeper的结构类似于树,树中的节点成为Znode
    Znode负责数据的管理,并且执行协调更新操作
    ZooKeeper存在临时节点,这些节点与session同时存在
    可以为每个节点添加一个“监控”(Watcher),当节点的状态发生改变时,用“监控”触发某个事件

    zookeeper的目录结构

    基础命令

    zkCli.sh -server 192.168.219.53:2181
    
    # 关于基本命令
    # -s表示创建序列节点,-e表示创建临时节点,在一个session内有效
    create [-s] [-e] path data acl    
    get path [watch]
    set path data [version]
    stat path [watch]
    ls path [watch]
    ls2 path [watch]
    delete path [version]  # 只可删除不带子节点的节点
    rmr path # 递归删除
    
    # 关于配额命令
    # 设置配额 -n限制子节点个数 -b限制数据值的长度
    setquota -n|-b val path         
    listquota path
    delquota [-n|-b] path
    
    # 关于其他命令
    sync path
    history
    redo cmdno
    quit
    printwatches on|off
    connect host:port
    close
    

    ACL访问控制列表

    zookeeper每个节点都会带一个acl的列表,用于决定用户可以操作的类型
    create | read | write | delete | admin
    
    setAcl path acl                 #
    getAcl path
    addauth scheme auth
    

    zookeeper算法

    zookeeper的实现主要采用了原子广播(ZooKeeper Atomaic Broadcast,简称Zab)协议

    原子广播

    • 客户端所有的写请求都被转发给leader
    • leader将请求通过广播的形式发送给所有follower
    • 超过半数的follower修改数据,leader才会提交这个更新
    • 过程要么全部成功,要么全部失败

    zookeeper中服务器的状态

    • LOOKING表示初始化状态,等待参与Leader的投票
    • LEADING表示领导者状态,统一管理系统中其他的服务器
    • FOLLOWING表示跟随着状态,除了Leader外,剩下的服务器都处于这个状态

    选举过程
    核心思想:由某个新加入集群的服务器发起一次选举,如果该服务器获得n/2+1个票数,那么它将成为leader

    zookeeper领导者选举的实现方式

    • LeaderElection
    • FastLeaderElection

    相关文章

      网友评论

        本文标题:Zookeeper | 基本操作

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