zookeeper 节点介绍及节点常用命令总结
本文为博主原创,未经允许不得转载:
目录:
1. znode 节点特性
2. zookeeper 的四种节点类型及适用场景分析
3. zookeeper 客户端常用操作命令
4. znode 数据增删改查
5. 节点属性查看
6. 节点的监听
7. acl权限设置
1. znode 节点特性
zookeeper 中节点叫znode存储结构上跟文件系统类似,以树级结构进行存储。不同之外在于znode没有目录的概念,不能执行类似cd之类的命令。
znode结点属性如下:
1 path:唯一路径
2 childNode:子节点
3 stat:状态属性
4 type:节点类型
2. zookeeper 的四种节点类型及适用场景分析:
|
类型 |
描述 |
命令 |
适用场景 |
|
PERSISTENT |
持久节点 |
create /test |
|
|
PERSISTENT_SEQUENTIAL |
持久顺序节点 |
create -s /test |
适合用于分布式锁、分布式选举等场景 |
|
EPHEMERAL |
临时节点(不可在拥有子节点) |
create -e /temp |
适用于心跳,服务发现等场景 |
|
EPHEMERAL_SEQUENTIAL |
临时顺序节点(不可在拥有子节点) |
create -e -s /temp/seq |
3. zookeeper 客户端常用操作命令:
#创建节点
create [-s] [-e] [-c] [-t ttl] path [data] [acl] #删除节点,(不能存在子节点)
deleteall path #查看节点数据 -s 包含节点状态 -w 添加监听
get [-s] [-w] path #查看执行的历史记录
history #设置值
set [-s] [-v version] path data #为节点设置ACL权限
setAcl [-s] [-v version] [-R] path acl #查看节点状态 -w 添加监听
stat [-w] path
创建一个临时顺序节点,并查看:

临时节点在会话关闭的时候即会删除。
4. znode 数据增删改查:
# 列出子节点
ls /
#创建节点
create /test "test is good man"
# 查看节点
get /test
# 创建子节点
create /test/sex "man"
# 设置节点值
set /test/sex "man"
# 删除节点
delete /test/sex
# 删除所有节点 包括子节点
deleteall /test
5. 节点属性查看
# 查看节点属性
stat /test
其属性说明如下:
#创建节点的事物ID
cZxid = 0x385
#创建时间
ctime = Wed Jul 21 22:37:01 CST 2021
#修改节点的事物ID
mZxid = 0x385
#最后修改时间
mtime = Wed Jul 21 22:37:01 CST 2021
# 子节点变更的事物ID
pZxid = 0x385
#这表示对此znode的子节点进行的更改次数(不包括子节点)
cversion = 0
# 数据版本,变更次数
dataVersion = 0
#权限版本,变更次数
aclVersion = 0
#临时节点所属会话ID
ephemeralOwner = 0x0
#数据长度
dataLength = 17
#子节点数(不包括子子节点)
numChildren = 0
6. 节点的监听:
客户添加 -w 参数可实时监听节点与子节点的变化,并且实时收到通知。非常适用保障分布式情况下的数据一至性。其使用方式如下:
|
命令 |
描述 |
|
ls -w path |
监听子节点的变化(增,删) |
|
get -w path |
监听节点数据的变化 |
|
stat -w path |
监听节点属性的变化 |
|
printwatches on|off |
触发监听后,是否打印监听事件(默认on) |
7. acl权限设置
ACL全称为Access Control List(访问控制列表),用于控制资源的访问权限。ZooKeeper使用ACL来控制对其znode的防问。基于scheme:id:permission的方式
进行权限控制。scheme表示授权模式、id模式对应值、permission即具体的增删改权限位。
scheme:认证模型
|
方案 |
描述 |
|
world |
开放模式,world表示全世界都可以访问(这是默认设置) |
|
ip |
ip模式,限定客户端IP防问 |
|
auth |
用户密码认证模式,只有在会话中添加了认证才可以防问 |
|
digest |
与auth类似,区别在于auth用明文密码,而digest 用sha-1+base64加密后的密码。在实际使用中digest 更常见。 |
permission权限位
|
权限位 |
权限 |
描述 |
|
c |
CREATE |
可以创建子节点 |
|
d |
DELETE |
可以删除子节点(仅下一级节点) |
|
r |
READ |
可以读取节点数据及显示子节点列表 |
|
w |
WRITE |
可以设置节点数据 |
|
a |
ADMIN |
可以设置节点访问控制列表权限 |
acl 相关命令:
|
命令 |
使用方式 |
描述 |
|
getAcl |
getAcl <path> |
读取ACL权限 |
|
setAcl |
setAcl <path> <acl> |
设置ACL权限 |
|
addauth |
addauth <scheme> <auth> |
添加认证用户 |
查看所有跟节点,并查看controller 节点的acl 权限

设置 节点 acl 权限

zookeeper 节点介绍及节点常用命令总结的更多相关文章
- zookeeper客户端 zkCli使用及常用命令
上篇(http://www.cnblogs.com/yangzhenlong/p/8270835.html)zk伪集群搭建好后,使用zkCli连接zk服务 切换到zk1/bin 目录,执行zkCli. ...
- Java篇:Docker的介绍安装 和常用命令
文章目录 为什么 出现docker Docker的简介 容器(Container) 镜像(Image) 仓库(Repository) Docker的安装 查看容器 删除镜像 删除容器 部署应用 以my ...
- git介绍以及一些常用命令,加上vim编辑器的简单使用
https://www.jianshu.com/p/04a6517869b4 vim:进入vim编辑器,如果后接文件名,则进入该文件的编辑模式,看图:①.vim编辑器中,按i进入编辑模式:②.按Esc ...
- ros中关于节点、话题、服务以及自定义消息等在终端中的常用命令
以下面的计算力图说明 节点相关常用命令 在终端中查看项目中有哪些节点命令:rosnode list 有了节点信息想要查看节点中到底发布订阅了哪些话题,作为服务端服务类型或者作为客户端需要的服务类型以上 ...
- Consul常用命令
1.consul启动# consul agent -dev # -dev表示开发模式运行,另外还有-server表示服务模式运行 注意:-dev节点的启动不能用于生产环境,因为该模式下不会持久化任何状 ...
- 版本控制-Git服务器搭建和常用命令使用
Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...
- CentOS 常用命令大全
下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...
- Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...
- Java常用命令与参数设置
我介绍的JDK版本: 首先.介绍下JDK常用参数设置,如下是我个人环境的参数: -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m 我们 ...
- aix 常用命令
官网上的介绍: AIX 常用命令汇总 http://www.ibm.com/developerworks/cn/aix/library/au-dutta_cmds.html 我们先SSH 到AIX 系 ...
随机推荐
- 24、Go语言中的OOP思想
1.是什么? OOP:面向对象 Go语言的解构体嵌套 1.模拟集成性:is - a type A struct { field } type B struct { A // 匿名字段 } 这种方式就会 ...
- 剑指Offer43:1~n整数中1出现的次数(数位DP)
解题思路:数位DP.dp数组为dp[pos][sum]表示当前位以下还有pos个可变位并且当前位以及它的最高位出现了sum个1的dp值.因为数的取值为2^31所以,数组开dp[10][10]就够了. ...
- [CSP-S 2023] 密码锁
题目描述 小 Y 有一把五个拨圈的密码锁.如图所示,每个拨圈上是从 \(0\) 到 \(9\) 的数字.每个拨圈都是从 \(0\) 到 \(9\) 的循环,即 \(9\) 拨动一个位置后可以变成 \( ...
- 如何有效应对员工违规使用U盘的情况?
在面对员工违规使用U盘的挑战时,华企盾DSC数据防泄密系统提供了一套综合而高效的解决方案. 通过系统的U盘加密功能,我们能够防止未经授权的U盘访问,确保敏感数据不会被非法传输.这一层保护不仅是基础性的 ...
- 华企盾DSC在苹果电脑上加密文件不显示加密图标
1.首先mac端暂时只支持在访达内显示加密图标,且新建的加密文件需要切换目录才可查看 2.检查DSCFinderSync进程是否启动,若没有启动重启一下DSC进程 3.若还没有显示直接重启系统的访达进 ...
- 安装华企盾DSC防泄密软件:编辑文件不加密常见问题,运维工程师必看
1.先查看客户端日志主进程是否是加密进程.日志中是不是勾选智能半透明.加密类型是否有添加 2.用procmon监控保存的文件找出writefile的进程是否有添加,进程树是否有父进程,加密类型是否正确 ...
- 解决 IDEA 报错ERROR:JAVA: 无效的源发行版: 11
解决 IDEA 报错ERROR:JAVA: 无效的源发行版: 11 原因 一般都是创建工程的时候 一路next 默认选择了 Java Version 11, 而本地的jdk版本是 8 解决 File ...
- StingBuilder与StringBuffer包含的常见方法(图示)
StingBuilder与StringBuffer包含的常见方法
- ElasticSearch之cat thread pool API
命令样例如下: curl -X GET "https://localhost:9200/_cat/thread_pool?v=true&pretty" --cacert $ ...
- Python——第二章:运算符
1. 算数运算 + - * / // % "//"除 "%"余 a = 20 b = 3 c = a // b d = a % b # 20 / 3 = ...