ZooKeeper(三):节点的crud


prtyaa
prtyaa 2023-12-28 16:20:34 68816
分类专栏: 资讯

ZooKeeper有四大特点:简单,有序,可复制,快速











节点的增删改查:

先去zk的bin目录下启动 zk服务 :

如上图所示,启动成功。

通过脚本登录本机的zk服务:只截了一小部分图

对了,再补充一下:bin目录下常用的脚本解释

    zkCleanup  清理Zookeeper历史数据,包括食物日志文件和快照数据文件

    zkCli     Zookeeper的一个简易客户端

    zkEnv    设置Zookeeper的环境变量

    zkServer   Zookeeper服务器的启动、停止、和重启脚本


新增节点:

create [-s] [-e] path data   # -s为有序节点,-e 临时节点。
若不指定,则表示持久节点;acl用来进行权限控制。

注意哦,如果不指定-s 或者 -e 的话,那么将创建持久节点。

在创建节点之前咱们先查看一下 根目录下,有多少子节点:使用 ls / 命令

继续 ls /zookeeper 这个表示 看 zookeeper这个节点下有哪些子节点。

总而言之ls /path 表示 看一下 path目录下有多少子节点

创建持久节点:不需要带 -s 或者 -e 参数 。

持久节点的特点是:与当前会话无关,结束当前会话(quit,然后 ./zkCli.sh),数据依然会为我们保留下来。

创建一个名为 node_1 的持久节点并写入数据,里面的数据data为数字 123。

根据节点路径读取节点里的数据: get /node_1

再次创建一个持久节点,和读取节点数据:


创建持久的有序节点:需要带 -s 参数

这个地方很有趣,创建有序节点的时候,无论data是数字还是字符串  
创建后的结果都会给节点名称后面拼一堆数字

持久化节点一般用在分布式业务id


创建临时节点 create -e path data,

临时节点创建后,quit客户端,然后./zkCli.sh 就没有这个节点了。没有 hello 节点了


创建有序的临时节点: create -s -e path data, 临时有序节点一般用来生成分布式锁。

只有有顺序的节点 ,创建之后,节点名称后会拼上序列,包括有序的持久化节点,和有序的临时节点。


更新节点:

更新节点的命令是 set path data

重启客户端后:下面是我刚创建的节点,临时节点已经没有了,因为重启了。

node1和node2是持久化节点,zookeeper是自带的。剩下的是有序的持久化节点。

每修改一次 这个dataVersion (版本号)都会 +1 ,set还有一种用法就是

set /node_1 “haha” 2 (最后这个 2 是dataVersion,意思是说,假如当前版本号如果为2 才允许修改),而此时 上图中 dataVersion 才是 1 。所以 set /node_1 “haha” 2 这条命令是不会修改成功的。类似于CAS

修改匹配版本号成功的例子

修改匹配失败的例子,经过上图操作 版本号已经变成了2,此时如果匹配版本号为1的话,修改操作失败,


删除节点:这个不做演示了,删除节点的命令很简单,

delete path [dataVersion] ,也是可以带版本号的,和 set 一样 匹配版本号。

删除节点 还有一个 rmr path ,意思是递归删除,因为delete 只能删除 本节点,当本节点下还有孩子节点的时候 delete 则删除失败,需要用到 rmr


查看节点 stat path 和 get path 差不多,只不过get path 会返回节点的data,而stat path 不会,剩下的都一样


查看节点列表 有 ls path 和 ls2 path。 直接上案例:

根节点查看,查看node_1

假如node1 下面还有节点 的话 就需要 ls2 /node1 , 此时先在node_1下面创建2个节点。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31798
赞同 0
评论 0 条

paragraph1

paragraph2

paragraph3

innerp

一、生成一个新的元素对象//生成一个新的元素对象varnewNode=document.createElement("div");//给新

  • 节点处理时延包括 2023-12-26 65485 浏览

    节点处理时延节点处理时延分为两部分,第一部分是路由器会检查分组的首部信息;第二部分是决定将分组传输到哪条通信链路所需要的时间。一般高速网络的节点处理时延都在微秒级和更低的数量级。在这种处理时延完成后,分组会发往路由器的转发队列中。排队时延在队列排队转发过程中,分组需要在队列中等待发送,分组在等待发送过程中消耗的时间被称为排队时延。排队时延的长短取决于先于该分组到达正在队列中排队的分组数量。如果该队

  • 中国移动智算中心(武汉)落地光谷,中国电信湖北工业高性能计算节点发布 2023-11-22 62498 浏览

    中国移动智算中心(武汉)落地光谷,中国电信湖北工业高性能计算节点发布……近日,光谷计算产业动态频频,算力底座不断夯实。01中国移动智算中心(武汉)项目是全国首批智算中心节点,位于武汉未来科技城,预计2024年建成投运,将立足武汉、服务全省、辐射华中,打造华中地区等级最高、规模最大的智算中心。中国移动智算中心(武汉)实景图中国移动智算中心(武汉)采用国际数据中心最高的T4级进行设计,按照数字化全光底

  • 如何清除思维导图中节点的样式? 2022-09-29 64284 浏览

    使用WPS Office打开思维导图,选中需要清除样式的节点。依次点击“样式”--->“清除样式”即可。

  • 如何调整思维导图中节点边框弧度? 2022-09-29 63784 浏览

    使用WPS Office打开思维导图,选中需要调整的节点。点击“样式”,WPS思维导图配置有三种边框弧度类型。根据需要选择其中一种即可。

  • 如何调整思维导图的节点背景? 2022-09-29 66934 浏览

    使用WPS Office打开思维导图。选中要操作的思维导图节点,依次点击“样式”--->“节点背景”。根据需要选择一种背景颜色即可。

  • [网页编程]-19 JavaScript Document节点对象的内容操作 2023-12-27 63857 浏览

    注意点:innerHTMLinnerText只适合双标签如果是要写成追加的信息,就需要写成这样div.innerText+="测试内容识别innerHTML;//会获得html中的内容,会识别html信息varinn2=div.innerText;//只会获得文本的信息,不会识别html信息双标签使用:innerHTMLinnerText单标签使用:valueinnerHTML&in

  • prtyaaL0
    粉丝 1 发表 2554 + 关注 私信
    上周热门
    银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1448
    银河麒麟打印带有图像的文档时出错  1365
    银河麒麟添加打印机时,出现“server-error-internal-error”  1151
    统信桌面专业版【如何查询系统安装时间】  1073
    统信操作系统各版本介绍  1070
    统信桌面专业版【全盘安装UOS系统】介绍  1028
    麒麟系统也能完整体验微信啦!  984
    统信【启动盘制作工具】使用介绍  627
    统信桌面专业版【一个U盘做多个系统启动盘】的方法  575
    信刻全自动档案蓝光光盘检测一体机  483
    本周热议
    我的信创开放社区兼职赚钱历程 40
    今天你签到了吗? 27
    信创开放社区邀请他人注册的具体步骤如下 15
    如何玩转信创开放社区—从小白进阶到专家 15
    方德桌面操作系统 14
    我有15积分有什么用? 13
    用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
    如何让你先人一步获得悬赏问题信息?(创作者必看) 12
    2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
    中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8
    热门标签更多

    添加我为好友,拉您入交流群!

    请使用微信扫一扫!