一,查看当前zookeeper的版本:

[root@localhost conf]# echo stat|nc 127.0.0.1 2181
Zookeeper version: 3.5.6-c11b7e26bc554b8523dc929761dd28808913f091, built on 10/08/2019 20:18 GMT

说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,启动zookeeper客户端

[root@localhost conf]# zkCli.sh 

三,使用 ls 命令来查看当前 ZooKeeper 中所包含的内容

[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]

四,创建一个新的 znode

[zk: localhost:2181(CONNECTED) 1] create /lockdemo 'demo content'
Created /lockdemo
[zk: localhost:2181(CONNECTED) 2] ls /
[lockdemo, zookeeper]

五,获取一个znode的value

[zk: localhost:2181(CONNECTED) 3] get /lockdemo
demo content

六,设置一个znode的 value

[zk: localhost:2181(CONNECTED) 22] set /lockdemo 'demo content2'

六,删除一个znode

说明:使用delete命令

[zk: localhost:2181(CONNECTED) 4] create /lockdemo2
Created /lockdemo2
[zk: localhost:2181(CONNECTED) 5] ls /
[lockdemo, lockdemo2, zookeeper]
[zk: localhost:2181(CONNECTED) 6] delete /lockdemo2
[zk: localhost:2181(CONNECTED) 7] ls /
[lockdemo, zookeeper]

七,列出zkCli上执行过的命令

[zk: localhost:2181(CONNECTED) 8] history

八,创建一个子节点

[zk: localhost:2181(CONNECTED) 10] create /lockdemo/son
Created /lockdemo/son
[zk: localhost:2181(CONNECTED) 11] ls /
[lockdemo, zookeeper]

九,列出节点时,附带上统计信息

给ls 加上 s参数即可

[zk: localhost:2181(CONNECTED) 12] ls -s /lockdemo
[son]cZxid = 0x2
ctime = Tue Feb 18 21:44:25 CST 2020
mZxid = 0x2
mtime = Tue Feb 18 21:44:25 CST 2020
pZxid = 0x5
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12
numChildren = 1

十,统计节点的信息

[zk: localhost:2181(CONNECTED) 14] stat /lockdemo/son
cZxid = 0x5
ctime = Tue Feb 18 21:51:09 CST 2020
mZxid = 0x5
mtime = Tue Feb 18 21:51:09 CST 2020
pZxid = 0x5
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 0

说明:各个字段的含义是什么

cZxid:节点创建时的zxid
ctime:节点创建时间
mZxid:节点最近一次更新时的zxid
mtime:节点最近一次更新的时间
cversion:子节点数据更新次数
dataVersion:本节点数据更新次数
aclVersion:节点ACL(授权信息)的更新次数
ephemeralOwner:如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id.
如果该节点不是临时节点,ephemeralOwner值为0
dataLength:节点数据长度,本例中为根节点/的长度
numChildren:子节点个数

十一,删除带子节点的节点

节点如果带有子节点时,不能直接使用delete做删除

[zk: localhost:2181(CONNECTED) 15] delete /lockdemo
Node not empty: /lockdemo
[zk: localhost:2181(CONNECTED) 16] deleteall /lockdemo
[zk: localhost:2181(CONNECTED) 17] ls /
[zookeeper]

十二,watch一个节点的value变化

在终端一上操作:

[zk: localhost:2181(CONNECTED) 27] set /lockdemo 'demo content2'
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/lockdemo
[zk: localhost:2181(CONNECTED) 28] get -w /lockdemo
demo content2

说明: get -w 给当前的key添加了watcher

在终端二上操作

[zk: localhost:2181(CONNECTED) 4] set /lockdemo 'change2'

此时回到终端一查看

[zk: localhost:2181(CONNECTED) 29]
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/lockdemo

watcher提示: 有NodeDataChanged发生

十三,watch一个节点的node变化

说明:这种主要是子节点的变化,不包括value的变化

在终端一操作:

[zk: localhost:2181(CONNECTED) 32] ls -w /lockdemo
[]

在终端二操作:

[zk: localhost:2181(CONNECTED) 7] create /lockdemo/son 'son value'
Created /lockdemo/son

回到终端一查看

[zk: localhost:2181(CONNECTED) 33]
WATCHER:: WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/lockdemo

说明:可以看到watcher提示的事件是:NodeChildrenChanged

十四,退出zkcli

[zk: localhost:2181(CONNECTED) 9] quit

zookeeper的客户端常用操作的更多相关文章

  1. iscsi客户端常用操作

    说明 本篇主要记录iscsi的客户端的一些常用的一些操作 iscsi服务端常用操作 删除一个lun tgtadm --lld iscsi --mode logicalunit --op delete ...

  2. 【转】ssh服务器启动和客户端常用操作

    前言 简单的来说,SSH 是 Secure SHell protocol 的简写 (安全的壳程序协议),它可以透过数据封包加密技术,将等待传输的封包加密后再传输到网络上, 因此,数据讯息当然就比较安全 ...

  3. zookeeper 学习 客户端Acl操作笔记

    Acl = Access control list create /node2 node2data [zk: localhost:2181(CONNECTED) 14] addauth digest ...

  4. .NET Core)的ZooKeeper异步客户端

    支持断线重连.永久watcher.递归操作并且能跨平台(.NET Core)的ZooKeeper异步客户端   阅读目录 什么是ZooKeeper? 项目介绍 提供的功能 使用说明 FAQ 在公司内部 ...

  5. Hbase常用操作(增删改查)

    Hbase常用操作(增删改查) [日期:2014-01-03] 来源:Linux社区  作者:net19880504 [字体:大 中 小]     运行Eclipse,创建一个新的Java工程“HBa ...

  6. HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系

    HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,H ...

  7. Zookeeper的命令行操作(三)

    Zookeeper的命令行操作 1. ZooKeeper服务命令 在准备好相应的配置之后,可以直接通过zkServer.sh 这个脚本进行服务的相关操作 1. 启动ZK服务: sh bin/zkSer ...

  8. zookeeper Cli的常用命令

    zookeeper Cli的常用命令 服务管理 启动ZK服务: zkServer.sh start 查看ZK状态: zkServer.sh status 停止ZK服务: zkServer.sh sto ...

  9. Apache Zookeeper Java客户端Curator使用及权限模式详解

    这篇文章是让大家了解Zookeeper基于Java客户端Curator的基本操作,以及如何使用Zookeeper解决实际问题. Zookeeper基于Java访问 针对zookeeper,比较常用的J ...

随机推荐

  1. 双向绑定数据的实现(new Proxy 版本)

    调用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...

  2. 《Java从入门到失业》第四章:类和对象(4.2):String类

    4.2String类 这一节,我们学习第一个类:String类.String翻译成汉语就是“字符串”,是字符的序列.我们知道,在Java中,默认采用Unicode字符集,因此字符串就是Unicode字 ...

  3. 反序列化之PHP

    反序列化漏洞 #PHP反序列化 原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果.在反序列化的过程中自动触发了某些魔术方法. ...

  4. [IDEA]Java:“程序包XXX不存在”问题的三种解决方案

    ###三种方案 ####01 出现jar包找不到的问题,首先有可能是项目依赖中有些jar没有下载完整 而mvn idea:idea这个命令可以检查并继续下载未下载完整的依赖jar. 在命令行输入mvn ...

  5. python变量及简单数据类型

    python 目录 python 1.变量 1.变量的定义 2.变量的命名 3. 关键字 4.变量的命名规则 5.变量的类型 5.不同类型变量之间的计算 6.变量的输入 7.变量的格式化输出 8.格式 ...

  6. 五分钟带你读懂 TCP全连接队列(图文并茂)

    爱生活,爱编码,微信搜一搜[架构技术专栏]关注这个喜欢分享的地方. 本文 架构技术专栏 已收录,有各种视频.资料以及技术文章. 一.问题 今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也 ...

  7. SpringBoot框架:使用mybatis连接mysql数据库完成数据访问(二)

    一.导入依赖包 1.在创建项目时勾选: 勾选SQL中的JDBC API.MyBatis Framework.MySQL Driver,创建项目后就会自动配置和引入这些包. 2.在pom.xml文件中添 ...

  8. 爬虫必看,每日JS逆向之爱奇艺密码加密,今天你练了吗?

    友情提示:优先在公众号更新,在博客园更新较慢,有兴趣的关注一下知识图谱与大数据公众号,本次目标是抠出爱奇艺passwd加密JS代码,如果你看到了这一篇,说明你对JS逆向感兴趣,如果是初学者,那不妨再看 ...

  9. 【转】postgreSQL​之autovacuum性能问题分析(二)

    如上篇文章提到,如果出现了autovacuum的问题,那么这可能是个悲伤的故事.怎么解决? 笔者觉得可以从如下几个方面着手去考虑解决问题,可以避免一些坑.1) 持续观察,是不是autovacuum问题 ...

  10. python中浅拷贝和深拷贝的区别

    浅拷贝 可变类型浅拷贝copy函数就是浅拷贝,只对可变类型的第一层对象进行拷贝,对拷贝的对象开辟新的内存空间进行存储,不会拷贝对象内部的子对象可变类型:a = [1, 2, 3] b = [11, 2 ...