zookeeper数据结构及基本命令

Zookeeper采用ZNode作为数据最小单元,分为PERSISTENT、EPHEMERAL、PERSISTENT_SEQUENTIAL和EPHEMERAL_SEQUENTIAL四种类型。Zookeeper通过ZXID保证事务顺序一致性。本文介绍了ls、ls2、get、stat、create、set、delete等基本命令的用法,以及Zookeeper的数据结构和节点类型。
摘要由CSDN通过智能技术生成

数据结构

Zookeeper的数据节点称为ZNode,ZNode是Zookeeper中数据的最小单元,每个zNode名称是唯一的(或者说路径唯一),每个ZNode都可以保存数据,同时还可以挂载子节点,因此构成了一个层次化的命名空间,称为树。

img

 zNode节点其实就是类似一个key-value,节点名称或路径名称就是key,每一个对应的key都有一个value值

在Zookeeper中,事务是指能够改变Zookeeper服务器状态的操作,一般包括节点创建与删除,数据节点内容更新和客户端会话创建与失效

对于每个事务请求,Zookeeper是如何保证事务的顺序一致性?

Zookeeper都会为其分配一个全局唯一的事务ID,所有的 proposal(提议)都在被提出的时候加上了ZXID,用ZXID表示,通常是64位的数字,每个ZXID对应一次更新操作,从这些ZXID中可以间接地识别出Zookeeper处理这些更新操作请求的全局顺序。

zNode类型:

(1)PERSISTENT-持久节点,除非手动删除,否则节点一直存在于 Zookeeper 上

(2)EPHEMERAL-临时节点,临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与zookeeper 连接断开不一定会话失效),那么这个客户端创建的所有临时节点都会被移除。

(3)PERSISTENT_SEQUENTIAL-持久顺序节点,基本特性同持久节点,只是增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。

(4)EPHEMERAL_SEQUENTIAL-临时顺序节点,基本特性同临时节点,增加了顺序属性,节点名后边会追加一个由父节点维护的自增整型数字。
 

持久节点--->节点永久存在zk服务器上,zk断开连接也不会消失。

临时节点--->节点临时存在zk服务器上,当zk断开连接,此节点便会消失。

顺序节点--->创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护 。在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序

基本命令

zkClient连接zookeeper服务器:

cd zookeeper的bin目录

./zkCli.sh -server localhost:2181

然后输入help命令,会提示相关命令如下:

ZooKeeper -
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值