(三) Zookeeper实战篇之集群部署与客户端命令行操作

一、分布式集群安装部署

查看详细部署步骤

二、客户端命令行操作

不同Zookeeper版本命令也不一样,本文以ZooKeeper:3.6.2为主。
所有命令:
在这里插入图片描述
常用命令介绍:

命令基本语法 功能描述
help 显示所有操作命令,此命令已经无效,改为输入命令错误直接列出所有命令。
ls [-s] [-w] [-R] path 使用 ls 命令来查看当前znode中所包含的内容。-s 查看当前节点数据并能看到更新次数等数据。添加一个 watch(监视器)监视该节点子节点的变化
create [-s] [-e] [-c] [-t ttl] path [data] [acl] 普通创建 , -s 含有序列 ,-e 临时(重启或者超时消失) 。acl(Access Control List),来决定谁可以对znode做哪些操作。
get [-s] [-w] path 获得节点的值。-s 获得具体信息。-w 添加一个 watch(监视器)监视该节点的值变化
set [-s] [-v version] path data 设置节点具体的值
stat [-w] path 查看节点状态。-w 添加一个 watch(监视器),如果节点内容发生改变,会产生 NodeDataChanged 事件;如果删除节点,会产生 NodeDeleted 事件。
delete [-v version] path 删除节点
redo cmdno 重复之前的命令,cmdno 就是方括号里面最后的数字,每次执行命令都会自增。
close 关闭连接
connect 打开连接 :connect host:port
quit 直接退出当前的 zkCli 命令行。
sync path 强制同步。sync方法会强制客户端所连接的服务器状态与leader的状态同步,这样在读取 path 的值就是最新的值
version 获取版本号

调用delete与set,如果该节点有版本号, 则调用delete与set的时候也应该加-v 版本号来操作。

  1. 启动客户端
    # bin/zkCli.sh
    在这里插入图片描述
    启动成功
    在这里插入图片描述

  2. 显示所有操作命令
    help
    在这里插入图片描述

  3. 查看当前znode中所包含的内容
    ls /
    在这里插入图片描述

  4. 查看当前节点具体信息
    ls -s /
    在这里插入图片描述
    节点信息介绍:

    1. cZxid: ZNode节点创建时的事务id(Transaction id)。
    2. ctime: ZNode节点创建时的时间戳。
    3. mZxid: ZNode 节点修改时的事务id,与子节点无关。
    4. mtime: ZNode节点最后一次更新时的时间戳。
    5. pZxid: ZNode节点的子节点的最后一次创建或者修改的时间,与子孙节点无关。
    6. cversion: 子节点版本号。
    7. dataVersion: 数据版本号。
    8. aclVersion: 节点的ACL权限修改版本号。
    9. dataLength: 该节点的数据长度。
    10. numChildren: 该节点拥有子节点的数量。

    事务id记录节点的状态,ZooKeeper每一次改变都对应着一个递增的事务id(Transaction id),该id称为Zxid, 它是全局有序的,每次ZooKeeper的更新操作都会产生一个新的Zxid,Zxid不仅仅是一个唯一的事务id,它还具有递增性。如果两个Zxid存在 zxid1<zxid2,那么说明Zxid1事务变化发生在Zxid2事务变化之前。

  5. 创建普通节点
    在这里插入图片描述

  6. 获取节点的值
    在这里插入图片描述
    此时可以看到 /animal节点有一个子节点,/animal/dog节点的长度为6.

    在这里插入图片描述

  7. 创建短暂节点
    create -e ...
    在这里插入图片描述
    重新连接客户端后,发现创建的临时节点没了。
    在这里插入图片描述

  8. 创建带有序号的节点
    create -s ....
    在这里插入图片描述

  9. 修改节点的值
    之前创建/user节点并没有赋值,现在给 该节点赋值。
    ls -R /用来获取目录树形结构
    在这里插入图片描述

  10. 全局数据一致
    每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
    zk1、zk2、zk3数据一样。
    在这里插入图片描述

  11. 节点值变化监听
    zk1监听/user节点,用zk2修改该节点的值。
    get -w /user , set /user "zhang"
    在这里插入图片描述
    发现zk1监听/user后,zk2修改该节点的值后zk1会监听到该节点的值发生变化。当zk2再次修改该节点的值,zk1不能监听到。
    所以对节点的监听只生效一次。

  12. 节点的子节点变化监听(路径变化)
    zk1 对/user节点的子节点变化进行监听 ls -w /user.
    zk2 在/user节点下创建子节点 create /user/zxg "zhang"
    zk1监听到了变化。
    在这里插入图片描述

  13. 删除节点
    在这里插入图片描述

  14. 删除全部节点
    delete删除的节点如果要删除的节点有子节点,不能删除。
    deleteall path 可删除该节点以及该节点的所有子节点。
    在这里插入图片描述

  15. 查看节点状态
    stat path
    在这里插入图片描述

  16. 重复之前的命令
    redo cmdno cmdno 就是方括号里面最后的数字,每次执行命令都会自增。
    在这里插入图片描述

(一) Zookeeper入门篇之详细介绍与安装

(二) Zookeeper内部原理之选举机制、Stat结构体与监听器原理

(三) Zookeeper实战篇之集群部署与客户端命令行操作

Docker部署Zookeeper集群 详细步骤

猜你喜欢

转载自blog.csdn.net/Zhangxg0206/article/details/110622402