zookeeper结构

zookeeper 的特性

1. zookeeper:一个leader,多个follower组成的集群

2. 全局数据一致:每一个server保存一份相同的数据副本。client无论连接到哪个的server,数据都是一致的

3. 分布式读写 ,更新请求转发 ,由leader 实施。

4. 更新请求顺序进行,来自同一个client的个不放心请求按其发送顺序依次执行

5. 数据更新原子性,一次数据更新要么成功,要么失败

6. 实时性,在一定时间范围内,client能读到最新数据

Zookeeper数据结构

1. 层次化的目录结构,命名符合常规文件系统规范。

2. 每一个节点在zookeeper中叫做znode , 并且有一个唯一的路劲标识

3 . 节点znode 可以包含数据和子节点(但是EPHEPAL 类型的节点不能有子节点)

4. 客户端应用可以在节点上设置监听器

           

节点类型

1.zookeeper有两个类型

短暂性(ephemeral)(断开连接自己删除)

持久性(persistent)(断开连接不删除)

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

persistent

persistent_sequential (持久化)

EPHEMERAL

EPHEMEREAL_SEQUENTIAL

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

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

zookeeper命令行操作

1 . 使用ls 命令查看当前zookeeper 包含的内容

2. 创建一个新的znode ,使用create /zk myData.这个命令创建一个新的znode节点 'zk‘ 自己与它关联的字符串

3 . 我们运行get 命令来确定znode是否包含我们所创建的字符串 get /zk  监听这个节点的变化,当另一个 客户端改变 /zk 时,

它会打出下面的

#WATCHER

#WatchedEvent state:SyncConnected type:NodeDataChanged path:/zk                 get /zk 

watch 为节点添加监听事件

4. 下面我们通过set 命令来对Zk锁关联的字符串进行统计   set /zk/ "asd"

5. 下面将创建的znode 删除  delete /ZK -1

6. 删除节点: rmr   rmr /zk

猜你喜欢

转载自blog.csdn.net/abcdefghwelcome/article/details/84892614