zookeeper 3.8.1安装和入门使用

1、zookeeper环境搭建(Windows单机版)

1.1、 前提

必须安装jdk 1.8,配置jdk环境变量,步骤略

1.2、安装zookeeper

地址:https://zookeeper.apache.org/

1.2.1、选择releases版本

1.2.2、下载安装包并解压

1.2.3、配置data位置 复制 zoo_sample.cfg文件改名为zoo.cfg,修改dataDir位置

1.3、使用

1.3.1、开启服务端

1.3.2、开启客户端

服务端启动成功显示

客服端启动成功显示

2、zookeeper使用

2.1、帮助命令: help

help(查看所有zk命令)
​
ls  查看命令ls -R /quota_test    显示 
#   /quota_test
#   /quota_test/child_1
#   /quota_test/child_2/quota_test/child_3ls -s /quota_test显示
#   [child_1, child_2, child_3]
#   cZxid = 0x110000002d
#   ctime = Thu Mar 07 11:19:07 UTC 2019
#   mtime = Thu Mar 07 11:19:07 UTC 2019
#   pZxid = 0x1100000033
#   cversion = 3
#   dataVersion = 0
#   aclVersion = 0
#   ephemeralOwner = 0x0
#   dataLength = 0
#   numChildren = 3ls -w /brokers    为brokers节点添加监视器,当brokers添加或删除子节点时会提示
#   WATCHER::
​
#WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/app2

2.2、创建节点

create [-s] [-e] [-c] [-t ttl] path [data] [acl][-s]        自动添加序号(自增)[-e]        表示为零时节点[-c]        创建容器节点[-t ttl]        创建ttl节点,可以指定超时时间,3.6.0之后版本出现path        节点路径名 根目录为/,每个/代表一层  最后一个/后的内容为当前创建的节点名,若节点名前几层的节点不存在时当前节点创建时会报错,不会自动创建[data]      节点数据 "data"   和path类似与  Key:value [acl]       节点访问权限

2.3、节点类型

普通永久节点

create /app1 "hello zk" 创建普通永久节点app1 value为 hello zk

带序号永久节点

create -s /app2 "hello zk"创建带序号永久节点app1 value为 hello zk

普通临时节点

create -e /app3 "hello zk"创建普通临时节点app3 value为 hello zk 临时节点当客户端关闭时会被删除

带序号临时节点

create -e -s /app4 "hello zk"创建普通临时节点app4 value为 hello zk  临时节点当客户端关闭时会被删除

创建容器节点

 create -c /container_node mydata 当容器结点的最后一个子节点被删除时容器节点就会被删除

创建ttl节点

#注意 先在zoo.cfg加入extendedTypesEnabled=true配置,否则会报 KeeperErrorCode = Unimplemented for /ttl_node   错误
​
create -t 1000 /app1 "hello" 创建一个1000ms过时的节点app1 data为hello

创建acl节点

详见 https://blog.csdn.net/yangshangwei/article/details/109759787

2.4、获取节点值

get [-s] [-w] path [-s] 查看节点详细信息[-w] 为path设置监听器,当data改变时提醒get -s /app1  或者 stat /app1
#前者会多显示一条节点值
# ­­­­­­­­­­­节点的状态信息,也称为stat结构体­­­­­­­­­­­­­­­­­­­
# 创建该znode的事务的zxid(ZooKeeper Transaction ID)
# 事务ID是ZooKeeper为每次更新操作/事务操作分配一个全局唯一的id,表示zxid,值越小,表示越先执行
cZxid = 0x4454 # 0x0表示十六进制数0
ctime = Thu Jan 01 08:00:00 CST 1970  # 创建时间
mZxid = 0x4454 						  # 最后一次更新的zxid
mtime = Thu Jan 01 08:00:00 CST 1970  # 最后一次更新的时间
pZxid = 0x4454 						  # 最后更新的子节点的zxid
cversion = 5 						  # 子节点的变化号,表示子节点被修改的次数
dataVersion = 0 					  # 当前节点的变化号,0表示从未被修改过
aclVersion = 0  					  # 访问控制列表的变化号 access control list
# 如果临时节点,表示当前节点的拥有者的sessionId
ephemeralOwner = 0x0				  # 如果不是临时节点,则值为0
dataLength = 13 					  # 数据长度
numChildren = 1 					  # 子节点数据get -w /app1  为app1添加监听器  当使用 set命令修改app1的值时zk监视器会提醒

2.5、修改节点值

set /app1  "hello set" 

2.6、删除节点值

delete path   当path存在子节点时无法删除
deleteall path 递归删除path及其子节点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/90801.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

成集云 | 钉钉财务费用单同步至畅捷通 | 解决方案

源系统成集云目标系统 方案介绍 财务管理作为企业管理中重要的组成部分,在企业的发展和成长中扮演着重要角色,成集云以钉钉费用单OA审批与畅捷通TCloud系统为例,与钉钉连接器深度融合,通过数据处理和字段匹配实现了费用…

【redis问题】Caused by: io.netty.channel

遇到的问题: 在使用 RedisTemplate 连接 Redis 进行操作的时候,发生了如下报错: 测试代码为: 配置文件: 问题根源: redis没有添加端口映射解决方案: 删除原来的redis容器,添加新…

高忆管理:大盘是什么意思?

随着市场经济的开展,股票、基金等金融出资产品的普及,大盘这个词汇也逐步进入了咱们的生活中。那么,大盘又是什么意思呢? 从基本概念视点来看,大盘是指股票市场全体走势的指标。出资者经过调查大盘指数的改变&#xf…

luckfox pico 使用记录

连接 使用USB转TTL 连接 USB 也要一起插上 在显示控制台窗口上会显示板子的IP地址 USB接上后 会在网络和共享中心发现 以太网2(通过RNDIS 通过USB 将板当网卡用,但使用网络共享,无法ping 通外部网) 可以不关闭防火墙(WIN10 6…

睿趣科技:抖音开网店卖玩具怎么样

近年来,随着社交媒体平台的飞速发展,抖音作为一款短视频分享应用也迅速崭露头角。而在这个充满创业机遇的时代背景下,许多人开始探索在抖音平台上开设网店,尤其是卖玩具类商品,那么抖音开网店卖玩具究竟怎么样呢? 首先…

分享一篇关于如何使用BootstrapVue的入门指南

你想轻松地创建令人惊叹且响应式的在线应用程序吗?使用BootstrapVue,您可以快速创建美观且用户友好的界面。这个开源工具包是基于Vue.js和Bootstrap构建的,非常适合开发现代Web应用程序。本文将介绍其基础知识,让您可以开始使用这…

ChatGPT的局限性及商业化应用限制讨论

首先,ChatGPT仅使用公开可用的信息,这是其第一个局限。如果基础信息缺失、过时、模糊或过于泛化,AI生成的内容就将不会准确。 只有在使用企业内部专有信息和知识创建特定的GPT时,才会出现真正的商业化解决方案。但对企业而言&…

【函数栈帧解析:代码的迷人堆积和无限嵌套】

本章重点 一、何为函数栈帧 二、函数栈帧特性 - 同栈 - 后进先出 三、认识内存空间布局图 四、认识相关寄存器 五、认识相关汇编命令 六、测试代码: 七、函数栈帧全过程 要解决的问题​​​​​​​ 局部变量是怎么创建的?为什么局部变量的值是随机值&am…

Linux中的dpkg指令(dpkg -l | grep XXX等)

dpkg是Debian包管理系统中的一个工具,用于在Linux系统中安装、升级、删除和管理软件包。它是Debian、Ubuntu以及基于它们的发行版中的包管理器。 dpkg 有很多用法,常用之举例:dpkg -l | grep apt 显示系统中安装的与apt相关(命名&#xff09…

ChatGPT AIGC 一个指令总结Python所有知识点

在ChatGPT中,直接输入一个指令就可以生成Python的所有知识点大纲。 非常实用的ChatGPT功能。 AIGC ChatGPT ,BI商业智能, 可视化Tableau, PowerBI, FineReport, 数据库Mysql Oracle, Office, Python ,ETL Excel 2021 实操,函数,图表,大屏可视化 案例实战 http://t.…

SpringBoot - Google EventBus、AsyncEventBus

介绍 EventBus 顾名思义,事件总线,是一个轻量级的发布/订阅模式的应用模式,最初设计及应用源与 google guava 库。 相比于各种 MQ 中间件更加简洁、轻量,它可以在单体非分布式的小型应用模块内部使用(即同一个JVM范围…

【Spring Boot】数据库持久层框架MyBatis — MyBatis简介

MyBatis简介 本节首先会介绍什么是ORM、什么是MyBatis、MyBatis的特点以及核心概念,最后介绍MyBatis是如何启动、如何加载配置文件的? 1.什么是ORM ORM(Object Relational Mapping,对象关系映射)是为了解决面向对象…