Zookeeper

1、zookeeper应用场景

zooKeeper是一个经典的分布式数据一致性解决方案,致力于为分布式应用提供一 个高性能、高可用,且具有严格顺序访问控制能力的分布式协调存储服务。

  • 维护配置信息
  • 分布式锁服务
  • 集群管理
  • 生成分布式唯一ID
2、zookeeper节点

一个znode大体上分为3各部分:

  • 1.节点的数据:即znode data(节点path, 节点data)的关系就像是java map中(key, value)的关系。
  • 2.节点的子节点children。
  • 3.节点的状态stat:用来描述当前节点的创建、修改记录。
    • cZxid:数据节点创建时的事务 ID
    • ctime:数据节点创建时的时间
    • mZxid:数据节点最后一次更新时的事务 ID
    • mtime:数据节点最后一次更新时的时间
    • pZxid:数据节点的子节点最后一次被修改时的事务 ID
    • cversion:子节点的更改次数
    • dataVersion:节点数据的更改次数
    • aclVersion:节点的 ACL 的更改次数
    • ephemeralOwner:如果节点是临时节点,则表示创建该节点的会话的SessionID;如果节点是持久节点,则该属性值为 0
    • dataLength:数据内容的长度
    • numChildren:数据节点当前的子节点个数
3、启动

到bin目录下

./zkServer.sh start
/zkCli.sh start
4、节点的基本操作
  1. 新增节点
create [-s] [-e] path data #其中-s 为有序节点,-e 临时节点
  1. 更改节点
set path data
  1. 删除节点
delete path [version]
  1. 查看节点
get path
5、监听器
  1. get path [watch]
    使用 get path [watch] 注册的监听器能够在节点内容发生改变的时候,向客 户端发出通知。需要注意的是 zookeeper 的触发器是一次性的 (One-time trigger),即 触发一次后就会立即失效。
  2. stat path [watch]
    使用 stat path [watch] 注册的监听器能够在节点状态发生改变的时候,向客 户端发出通知。
  3. ls\ls2 path [watch]
    使用 ls path [watch] 或 ls2 path [watch] 注册的监听器能够监听该节点下 所有子节点的增加和删除操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值