Zookeeper(2)常用命令,ACL权限

news2024/11/15 8:21:58

文章目录

  • 前言
  • 一、zk节点和节点类型
    • 节点类型
  • 二、常用命令
    • 1.客户端连接
    • 2.常用命令
      • help 帮助命令
      • 创建节点
      • get
      • set
      • delete
      • deleteall path
      • stat查看节点的状态
      • setquota增加配额
      • listquota /frame 查看配额
      • delquota删除配额
  • 三、ACL权限控制:
    • 1、ZooKeeper权限特性:
    • 2、Permission:授予的权限 CRWDA
      • world:
      • ip
      • auth
      • digest
    • 测试


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、zk节点和节点类型

znode数据存储图的讲解
在这里插入图片描述

节点类型

  1. PERSISTENT --持久化目录节点
    客户端与zookeeper断开连接后,该节点依旧存在
  2. PERSISTENT_SEQUENTIAL-持久化顺序编号节点
    客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
  3. EPHEMERAL -临时节点
    客户端与zookeeper断开连接后,该节点被删除,临时节点不可以创建子节点
  4. EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
    客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号

二、常用命令

1.客户端连接

保证集群启动

  • 使用zkCli.sh默认链接本机
    在这里插入图片描述
    quit 退出 会话
    close 关闭与服务端的连接

  • 或者使用 zkCli -server ip或者主机名:端口号 链接相应服务器
    我的主机名已经配ip了

zkCli.sh -server cluster1:2181

在这里插入图片描述

  • 或者是在zk命令行: connect ip地址或者主机名称:端口号, 链接相应服务器

2.常用命令

help 帮助命令

在这里插入图片描述

ls / 查看跟目录 后面必须

ls 存储路径 查看路径下的信息(路径必须是绝对路径)

 ls [-s] [-w] [-R] path
列出子节点 -s状态 -R 递归查看所有子节点 -w 添加监听

递归查询跟节点的所有子节点 ls -R /
ls -w / 查看监听根目录 ,如果根下的子节点发生变化都会被监听,只监听一次 (为了少占资源)提高效率

在这里插入图片描述
改变状态 都会被ls -w 监控到但是只监听一次
在这里插入图片描述

创建节点

create [-s] [-e] [-c] [-t ttl] path [data] [acl]
  • -s 创建有序节点
  • -e 创建临时节点
  • data 节点内容 老版本必须有内容
  • acl(Access contro list)访问控制权限

创建普通节点
在这里插入图片描述
创建持久节点

创建持久有序
在这里插入图片描述
创建临时节点

create -e /fram/spring/aop 'aop'

持久化节点都是0X0 临时的ephemeralOwner和这次会话放id一样 说明这个东西是属于这个会话的 当会话消失 临时文件消失
在这里插入图片描述

临时的不能有子节点(临时持久都不能有)
在这里插入图片描述

创建临时有序节点
create -e -s /fram/spring/mvc ‘mvc1’
create -e -s /fram/spring/mvc ‘mvc2’
create -e -s /fram/spring/mvc ‘mvc3’
在这里插入图片描述
你会发现所有的顺序都是有序的
当退出后临时节点都消失了
在这里插入图片描述


get

get [-s] [-w] path

get /frame/spring
get -s /frame/spring
set /frame/spring ‘spirng1’
get -s /frame/spring
set /frame/spring ‘spirng111’
get -s /frame/spring
create /frame/spring/boot ‘boot’
get -s /frame/spring
delete /frame/spring/boot
get -s /frame/spring
get -w /frame/spring 查看节点内容并监控 但是也是只监控一次
在另外一个会话中,改变/frame/spring的内容
set /frame/spring ‘spirng4’
set /frame/spring ‘spirng5’ 发现只有一次可以触发监控
在这里插入图片描述
在这里插入图片描述

zxid:节点创建时的zxid
ctime:节点创建时间
mZxid:节点最近一次更新时的zxid
mtime:节点最近一次更新的时间
pZxid: 表示该节点的子节点列表最后一次修改的事务ID,添加子节点或删除子节点就会影响子节点列表,但是修改子节点的数据内容则不影响该ID
cversion:子节点更新次数
dataVersion:本节点数据更新次数
aclVersion:节点ACL(授权信息)的更新次数
ephemeralOwner:如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0
dataLength:节点数据长度,本例中为hello world的长度
numChildren:子节点个数

set

set [-s] [-v version] path data

更新节点内容:
set /frame/spring ‘spring1’ 更新节点内容
在这里插入图片描述

delete

delete [-v version] path 删除单个节点
删除节点,(不能存在子节点)
delete /frame/spring/mvc0000000008
create /frame/spring/boot ‘boot’
create /frame/spring/boot/sarun ‘SpringApplicationrun’
delete /frame/spring/boot 错误

deleteall path

删除路径及所有子节点

deleteall /frame/spring/boot
在这里插入图片描述

stat查看节点的状态

stat /frame/spring

setquota增加配额

setquota -n|-b val path

-n 设置子节点的配额数量
-b 设置节点内容的长度

setquota -n 3 /frame 为/frame路径设置子节点数量限制 包含自己在内,最多3个子节点

listquota /frame 查看配额

ls /frame 查看子节点
在另外一个会话中打开日志:
tail -f /usr/zookeeper/logs/zookeeper-root-server-cluster1.out
create /frame/mybatis ‘ORM’
create /frame/hibernate ‘ORM’ 第二次创建目录时就会提示
listquota查询配额
listquota path
-1 表示无限, 即没有限制
listquota /frame
在这里插入图片描述

delquota删除配额

delquota [-n|-b] path

delquota /frame 删除所有配额

删除配额好 配额米有了
在这里插入图片描述

三、ACL权限控制:

ACL:Access Control List 访问控制列表
相关命令:
getAcl 获取某个节点的acl权限信息
setAcl 设置某个节点的acl权限信息
addauth 输入认证授权信息,注册时输入明文密码(登录),但是在zk的系统里,密码是以加密后的形式存在的

1、ZooKeeper权限特性:

ZooKeeper的权限控制是基于每个znode节点的,需要对每个节点设置权限

  • 每个znode支持设置多种权限控制方案和多个权限
  • 子节点不会继承父节点的权限,客户端无权访问某节点,但可能可以访问它的子节点

授权格式:
授权策略:授权对象: 权限
scheme: id: Permission

Scheme:(计划)授权的策略 包含下面:

  • world:默认方式,相当于全部都能访问 代表所有人

  • ip:使用客户端的主机IP作为ACL ID 。这个ACL表达式的格式为addr/bits ,此时addr中的有效位与客户端addr中的有效位进行比对。

  • auth:使用已添加认证的用户认证(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)

  • digest:即用户名:密码这种方式认证,这也是业务系统中最常用的。用username:password 字符串来产生一个MD5串,然后该串被用来作为ACL ID。认证是通过明文发送username:password 来进行的,当用在ACL时,表达式为username:base64 ,base64是password的SHA1摘要的编码。

ID:授权的对象
权限赋予的用户或者一个实体,例如:IP 地址 或者是用户(授权) 或者是 anyone

2、Permission:授予的权限 CRWDA

  • zookeeper支持的权限
  • CREATE©: 创建权限,可以在在当前node下创建child node
  • READ®: 读权限,可以获内容及子节点
  • WRITE(w): 写权限,可以向当前node写数据
  • DELETE(d): 删除权限,可以删除当前的child nodes
  • ADMIN(a): 管理权限,可以设置当前node的permission

world:

  • setAcl /aaa world:anyone:crwa 设置权限 米有删除权限
  • getAcl /aaa 查看权限
  • delete /aaa/a 不能删除
  • setAcl /aaa world:anyone:crwd 设置米有acl权限
  • delete /aaa/a 可以删除
  • ls /aaa 查询
  • setAcl /aaa world:anyone:crwda 在设置回去发现不成功
  • delete /aaa 直接删除节点

ip

setAcl /bbb ip:192.168.106.130:crwa 设置权限 和ip
当设置后只能这个ip的访问
非ip下会显示无访问权限
在这里插入图片描述
不过可以在 重新编写ip 重新设置

可以同时设置多个
在这里插入图片描述

auth

addauth digest scott:tiger
setAcl /ccc auth:scott:crwda

在这里插入图片描述
重新连接后需要重新再次添加授权用户才可以查看
不过可以删除
在这里插入图片描述

设置正确的认证信息后可以重新访问 名字:密码
在这里插入图片描述

digest

create /eee 555

setAcl /eee digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:crwda 创建摘要

addauth digest user:123456 添加用户
成功后可以查看
在这里插入图片描述
父节点的权限不会限制到子节点

在这里插入图片描述

测试

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地虚拟机平台Proxmox VE结合Cpolar内网穿透实现公网远程访问

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默&…

Jenkins Windows关闭跨站请求伪造保护(CSRF)

禁用CSRF保护 为了在Jenkins中禁用CSRF保护,请按照以下步骤操作: 定位Jenkins服务 在Windows搜索栏中输入services.msc,然后按Enter键打开服务。在服务列表中找到Jenkins服务。右键点击Jenkins服务,选择属性 可以进入配置目录 …

求解3、4、6自由度仿射变换矩阵

说明:一开始将目光放在了opencv上,发现只有4、6自由度的仿射变换求解,后来发现skimage十分强大。 注:美中不足的是,skimage的实现没有RANSAC。 function:skimage.transform.estimate_transform() ttypeeu…

TT-100K数据集,YOLO格式

TT-100K数据集YOLO格式,分为train、val和test,其中train中共有6793张图片,val中共有1949张图片,test中共有996张图片。数据集只保留包含图片数超过100的类别。共计46类。

【数据挖掘】实验3:常用的数据管理

实验3&#xff1a;常用的数据管理 一&#xff1a;实验目的与要求 1&#xff1a;熟悉和掌握常用的数据管理方法&#xff0c;包括变量重命名、缺失值分析、数据排序、随机抽样、字符串处理、文本分词。 二&#xff1a;实验内容 【创建新变量】 方法1&#xff1a; mydata <…

DockerFile遇到的坑

CMD 命令的坑 dockerfile 中的 CMD 命令在docker run -it 不会执行 CMD 命令。 FROM golang WORKDIR / COPY . ./All-in-one CMD ["/bin/sh","-c","touch /kkk.txt && ls -la"] RUN echo alias ll"ls -la" > ~/.bashrc(不…

Django 解析路由参数

编写带url参数的路由&#xff0c;4种类型参数 app1.url.py from django.urls import path from . import viewsurlpatterns [path(index, views.index, nameindex),path(test, views.test, nametest),path(test_int/<int:id>/, views.test_int, nametest_int),path(te…

多点位移计安装之灌浆步骤

在完成多点位移计的安装调整之后&#xff0c;接下来的步骤是通过回填沙浆来固结结构。使用灌浆设备&#xff0c;将砂浆从灌浆管注入钻孔中&#xff0c;注重从下至上的灌浆方法&#xff0c;确保孔内没有空隙形成。这个过程需要分步进行&#xff0c;同时逐步将灌浆管拉出。为了保…

部署Zabbix Agents添加使能监测服务器_Windows平台_MSI/Archive模式

Windows平台 一、从MSI安装Windows代理,添加Windows Servers/PC 概述 可以从Windows MSI安装包(32位或64位) 安装Zabbix agent 32位包不能安装在64位Windows中 所有软件包都支持TLS,配置TLS可选 支持UI和命令行的安装。 1、下载Agent代理程序,使用Agent2升级版,官网链接如…

mac os 配置两个github账号

1. 清空git全局配置的username和email git config --global --unset user.name git config --global --unset user.emailgit config --list 可以查看是否清空了 2. 定义两个标识符,这两个标识符以后会被用来代替“github.com”来使用。 假设两个账号的邮箱地址分别是a@gmai…

从底层结构开始学习FPGA(0)----FPGA的硬件架构层次(BEL Site Tile FSR SLR Device)

系列目录与传送门 《从底层结构开始学习FPGA》目录与传送门 Xilinx的FPGA&#xff0c;从硬件架构的角度可以划分为6个层次&#xff0c;从底层到顶层依次是&#xff1a; BEL&#xff08;最底层单元&#xff09;SiteTileFSRSLRDevice&#xff08;FPGA芯片&#xff09; 接下来我…

外贸网站文章批量生成器

随着全球贸易的不断发展&#xff0c;越来越多的企业开始关注外贸市场&#xff0c;而拥有高质量的内容是吸引潜在客户的关键之一。然而&#xff0c;为外贸网站生产大量优质的文章内容可能是一项耗时且繁琐的任务。因此&#xff0c;外贸网站文章批量生成软件成为了解决这一难题的…

Day 1.数据结构----单向链表(无头单向链表)

数据结构 如何组织存储数据 程序 数据结构 算法 MVC&#xff1a;软件设计结构 M&#xff1a;数据的管理&#xff08;数据结构&#xff09; V&#xff1a;视图&#xff0c;数据的反映及人机交互 C&#xff1a;逻辑控制 单向链表 有头链表&#xff1a;第一个链表结点中…

微信小程序选择器picker的使用(省市区)

index.wxml picker中的 moderegion模式&#xff0c;这里同element中的select不同的是&#xff0c;不需要自己在绑定数据原&#xff0c;默认就包含了省市区的整体数据 <view class"section"><view class"section__title">省市区选择器</vie…

LVS+Keepalived 高可用群集--部署

实际操作 LVS Keepalived 高可用群集 环境设备 LVS1192.168.6.88 &#xff08;MASTER&#xff09;LVS2192.168.6.87 &#xff08;BACKUP&#xff09;web1192.168.6.188web2192.168.6.189客户端192.168.6.86VIP192.168.6.180 &#xff08;一&#xff09;web服务器 首先配置…

prompt开发生命周期

1.定义任务场景和成功标准 任务场景可分为简单任务&#xff1a;实体抽取、qa等 复杂任务&#xff1a;代码生成、创意写作等 在定义任务后&#xff0c;就要定义模型实现该任务的成功标准&#xff1a; 模型表现和准确率&#xff1b;延迟&#xff1b;价格。 2.开发测试用例 多…

OkHttp

文章目录 OkHttp概要1.简介2.特点3.基本组成5.工作流程 拦截器1.简介2.内置拦截器3.自定义拦截器 连接池1.简介2.常用参数配置选项 Dispatcher和线程池1.简介2.重要方法3.DispatCher中的双端队列4.总结 OkHttp 概要 1.简介 OkHttp是一个开源的HTTP客户端&#xff0c;用于在J…

VSCode下使用github初步

由于各种需要&#xff0c;现在需要统一将一些代码提交搞github&#xff0c;于是有了在VSCode下使用github的需求。之前只是简单的使用git clone&#xff0c;代码提交这些用的是其他源代码工具&#xff0c;于是得学习实操下&#xff0c;并做一记录以备后用。 安装 VSCode安装 …

【ZooKeeper】1、基本介绍

本文基于 Apache ZooKeeper Release 3.7.0 版本书写 作于 2022年3月6日 14:22:11 转载请声明 1、Zookeeper是什么&#xff1f; 由ZooKeeper的官网介绍可知&#xff1a; ZooKeeper 是Apache原子基金会下一个开源的、用于提供可靠的分布式协同的服务器。 ZooKeeper 可以用来 配置…

【保姆级教程】YOLOv8_Pose多类别关键点检测,姿态识别:训练自己的数据集

Yolov8官方给出的是单类别的人体姿态关键点检测&#xff0c;本文将记录如果实现训练自己的多类别的关键点检测。 一、YOLOV8环境准备 1.1 下载安装最新的YOLOv8代码 仓库地址&#xff1a; https://github.com/ultralytics/ultralytics1.2 配置环境 pip install -r requiremen…