0
点赞
收藏
分享

微信扫一扫

Ⅱ:zookeeper的相关shell命令

吴wuwu 2022-07-12 阅读 42


❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️

文章目录

  • ​​1、前置准备​​
  • ​​Ⅰ、启动zookeeper服务​​
  • ​​Ⅱ、启动zookeeper客户端​​
  • ​​2、新增节点​​
  • ​​Ⅰ、持久化节点​​
  • ​​Ⅰ.Ⅰ、创建​​
  • ​​Ⅰ.Ⅱ、读取​​
  • ​​Ⅰ.Ⅲ、结束会话重连接再次查询​​
  • ​​Ⅱ、持久化有序节点​​
  • ​​Ⅱ.Ⅰ、创建​​
  • ​​Ⅱ.Ⅱ、读取​​
  • ​​Ⅱ.Ⅲ、再创建​​
  • ​​Ⅱ.Ⅳ、再读取​​
  • ​​Ⅲ、临时节点​​
  • ​​Ⅲ.Ⅰ、创建临时节点​​
  • ​​Ⅲ.Ⅱ、读取临时节点​​
  • ​​Ⅲ.Ⅲ、结束会话重连接查询​​
  • ​​Ⅳ、临时有序节点​​
  • ​​Ⅳ.Ⅰ、创建临时有序节点​​
  • ​​Ⅳ.Ⅱ、读取临时有序节点​​
  • ​​Ⅳ.Ⅲ、再创建临时有序节点​​
  • ​​Ⅳ.Ⅳ、再读取临时有序节点​​
  • ​​3、更新节点​​
  • ​​Ⅰ、set更新(path匹配)​​
  • ​​Ⅱ、set更新(path+version匹配)​​
  • ​​Ⅱ.Ⅰ、错误演示​​
  • ​​4、删除节点​​
  • ​​Ⅰ、删除(path匹配)​​
  • ​​Ⅱ、删除(path+version匹配)​​

Ⅱ:zookeeper的相关shell命令_zookeeper

1、前置准备

Ⅰ、启动zookeeper服务

Ⅱ、启动zookeeper客户端

2、新增节点

create [-s] [-e] path data #其中的-s为有序节点, -e为临时节点

Ⅰ、持久化节点

Ⅰ.Ⅰ、创建

create 路径 “hao”

Ⅰ.Ⅱ、读取

查看数据
get 路径

Ⅱ:zookeeper的相关shell命令_javascript_05

创建该持久化节点意味着当我们退出本次会话之后,数据不会消失,当我们再次会话,数据依然能够查询到。

Ⅰ.Ⅲ、结束会话重连接再次查询

Ⅱ:zookeeper的相关shell命令_zookeeper_07


Ⅱ:zookeeper的相关shell命令_javascript_08


再次查询数据,发现数据依然存在,这就是创建的持久化节点

Ⅱ:zookeeper的相关shell命令_javascript_09

Ⅱ、持久化有序节点

Ⅱ.Ⅰ、创建

create -s /路径 数据

创建的有序节点路径为/unity2;但由于是有序节点,所以zookeeper会为路径后加入一个序号

Ⅱ:zookeeper的相关shell命令_数据_10

Ⅱ.Ⅱ、读取

获取有序节点的数据

Ⅱ:zookeeper的相关shell命令_zookeeper_11

Ⅱ.Ⅲ、再创建

再次创建一个持久化有序节点


Ⅱ.Ⅳ、再读取

Ⅱ:zookeeper的相关shell命令_javascript_12

该持久化有序节点主要用在为分布式环境创建唯一ID



Ⅲ、临时节点

Ⅲ.Ⅰ、创建临时节点

create -e /path 数据

Ⅱ:zookeeper的相关shell命令_zookeeper_13

Ⅲ.Ⅱ、读取临时节点

get /temp

Ⅱ:zookeeper的相关shell命令_数据_14

因为创建的是临时节点,所以当会话结束后,数据就会消息

Ⅲ.Ⅲ、结束会话重连接查询

Ⅱ:zookeeper的相关shell命令_zookeeper_15


可以看出数据已经不存在了。

Ⅳ、临时有序节点

Ⅳ.Ⅰ、创建临时有序节点

create -s -e /path 数据 =========》-s代表有序,-e代码临时

Ⅱ:zookeeper的相关shell命令_数据_16

Ⅳ.Ⅱ、读取临时有序节点

Ⅱ:zookeeper的相关shell命令_javascript_17

Ⅳ.Ⅲ、再创建临时有序节点

Ⅱ:zookeeper的相关shell命令_zookeeper_18

Ⅳ.Ⅳ、再读取临时有序节点

Ⅱ:zookeeper的相关shell命令_javascript_19

当然由于是临时节点,会话结束,数据就会消失。

临时有序节点主要生成分布式锁




3、更新节点

使用上面新增节点创建的数据,进行更改操作

Ⅱ:zookeeper的相关shell命令_zookeeper_20

Ⅰ、set更新(path匹配)

set /path 更新的数据

Ⅱ:zookeeper的相关shell命令_zookeeper_21


Ⅱ:zookeeper的相关shell命令_javascript_22

Ⅱ、set更新(path+version匹配)

set /path 更新的数据 -v 1
注意3.6.2以上版本要加上-v,我使用的是3.7.2版本的

怎么理解这个更新操作呢?我们可以发现比第一种set更新多了一个-v 1,这个-v其实是版本号,意思是不仅路径path要匹配,版本号也要匹配;看下面的图

Ⅱ:zookeeper的相关shell命令_zookeeper_23


dataVersion初始为0,每当对该节点数据修改一次,dataVersion就会加1;上面的版本为1是因为我已经修改过一次该节点数据了。

Ⅱ.Ⅰ、错误演示

set set /unity “sss” -v 2

Ⅱ:zookeeper的相关shell命令_zookeeper_24

因为该版本是1,所有定义的2是无法匹配成功的。
正确的就不再演示,需要版本对应。

4、删除节点

Ⅰ、删除(path匹配)

delete /path

Ⅱ:zookeeper的相关shell命令_zookeeper_25

Ⅱ、删除(path+version匹配)

delete /path -v 1

Ⅱ:zookeeper的相关shell命令_zookeeper_26


版本不匹配,删除失败!


举报

相关推荐

0 条评论