Zookeeper节点详解

本文详细介绍了Zookeeper的两种节点类型:短暂(ephemeral)和持久(persistent),以及四种目录节点形式,包括它们在客户端断开连接后的行为。此外,还列举了Zookeeper客户端常用命令,如创建、获取、修改和删除节点,以及设置权限和限额等。Zookeeper节点的顺序编号特性在分布式系统中用于事件排序。
摘要由CSDN通过智能技术生成

zookeeper节点类型详解

1)Znode有两种类型:

  • 短暂(ephemeral):客户端和服务器端断开连接后,创建的节点自己删除
  • 持久(persistent):客户端和服务器端断开连接后,创建的节点不删除

2)Znode有四种形式的目录节点(默认是persistent )

(1)持久化目录节点(PERSISTENT)

客户端与zookeeper断开连接后,该节点依旧存在

(2)持久化顺序编号目录节点(PERSISTENT_SEQUENTIAL)

客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

(3)临时目录节点(EPHEMERAL)

客户端与zookeeper断开连接后,该节点被删除

(4)临时顺序编号目录节点(EPHEMERAL_SEQUENTIAL)

客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

1)Znode有两种类型:

  • 短暂(ephemeral):客户端和服务器端断开连接后,创建的节点自己删除
  • 持久(persistent):客户端和服务器端断开连接后,创建的节点不删除

2)Znode有四种形式的目录节点(默认是persistent )

(1)持久化目录节点(PERSISTENT)

客户端与zookeeper断开连接后,该节点依旧存在

(2)持久化顺序编号目录节点(PERSISTENT_SEQUENTIAL)

客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号

(3)临时目录节点(EPHEMERAL)

客户端与zookeeper断开连接后,该节点被删除

(4)临时顺序编号目录节点(EPHEMERAL_SEQUENTIAL)

客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

3)创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护

4)在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序

 

zookeeper节点命令

zkCli.sh 登录服务端

  1. ./zkCli*sh -timeout 3000 -server localhost:2181 -r
    -r readonly
    默认 -timeout 3000 -server localhost:2181

  2. ls path [watch]
    列出指定节点下的所有一级子节点。

  3. ls2 path [watch]
    ls + stat

  4. get path [watch]
    列出节点的数据 + stat

  5. set path data [version]
    给节点添加数据或者修改节点的数据。

  6. create [-s] [-e] path data acl
    创建节点
    -s: 表示节点为顺序节点
    -e: 表示节点为临时节点
    acl: 访问控制列表

  7. delete path [watch]
    删除节点

  8. stat path [watch]
    列出节点信息

    keyvalue
    cZxid = 0x31节点被创建时的事物的ID
    ctime = Sat Mar 16 15:38:34 CST 2019创建时间
    mZxid = 0x31节点最后一次被修改时的事物的ID
    mtime = Sat Mar 16 15:38:34 CST 2019最后一次修改时间
    pZxid = 0x31子节点列表最近一次呗修改的事物ID
    cversion = 0子节点版本号
    dataVersion = 0数据版本号
    aclVersion = 0ACL版本号
    ephemeralOwner = 0x0创建临时节点的事物ID,持久节点事物为0
    dataLength = 22数据长度,每个节点都可保存数据
    numChildren = 0子节点的个数
  9. listquota path
    列出节点的限制

  10. setquota -n|-b val path
    设置节点的限制
    -n: 表示子节点的最大个数
    -b: 表示数据值的最大长度

  11. delquota [-n|-b] path
    删除节点的限制

  12. setAcl path acl
    设置节点的权限
    acl格式: schema:id:permision
    schema: ip|digest|world|auth|
    id: ip|userName:string|anyone|
    permision: crwda
    c: create 创建子节点
    r: read 获得节点数据和子节点列表
    w: write 更新节点数据
    d: delete 删除子节点
    a: admin 设置节点的ACL

  13. getAcl path
    获得节点的权限的列表

  14. sync path

  15. rmr pat
    递归删除节点

  16. printwatches on|off

  17. addauth scheme auth
    注册会话授权信息
    schema: ip:digest
    auth: ip|username:password

  18. history
    历史命令

  19. redo cmdno
    重新执行命令* cmdno为 history输出的命令号

  20. quit
    退出客户端

  21. close
    关闭连接,不退出可客户端

  22. connect host:port
    连接服务端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值