Zookeeper客户端命令行学习(二)

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Zookeeper客户端命令行学习(二)

ACL权限控制

  • 针对节点可以设置相关读写等权限,目的为了保障数据安全性
  • 权限permissions可以指定不同的权限范围以及角色

ACL命令行

  • getAcl:获取某个节点的acl权限信息
  • setAcl:设置某个节点的acl权限信息
  • addauth:输入认证授权信息,注册时输入明文密码(登陆)但是在zk的系统里,密码是以加密的形式存在的
  • zk的acl通过[scheme?permissions]来构成权限列表
    scheme:代表采用的某种权限机制
    id:代表允许访问的用户
    permissions:权限组合字符串
  • scheme

1.world:它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的 world:anyone:[permissions]

2.auth:代表认证登陆,需要注册用户有权限就可以,形式为auth:user:password:[permissions]

3.digest:需要对密码加密才能访问,组合形式为digest:username:BASE64(SHA1(password)):[permissions]

4.ip:当设置为ip指定的ip地址,此时限制ip进行访问,比如ip:192.168.1.1:[permissions]

5.super:代表超级管理员,拥有所有的权限

  • premissions

world

1.权限字符串缩写crdwa

CREATE:创建子节点;

DELETE:删除子节点;

READ:获取节点/子节点;

WRITE:设置节点数据;

ADMIN:设置权限

20190706094702692.png

设置权限

setAcl /bushro world:anyone:crwa

20190706095719975.png

再删除就提示没有权限了

20190706095848454.png

auth授权方式

addauth digest bushro:bushro添加对应的授权认证

setAcl /bushro auth:bushro:bushro:cdrwa设置权限

2019070610100154.png

digest授权方式

密码是加密过后的

20190706103111268.png

认证

addauth digest bushro:bushro

ip

20190706105148754.png

super

增加超级管理员,编辑zkServer.sh

添加如下,后面的是账号和加密的密码,密码是BASE64(SHA1(password))加密过后的

-Dzookeeper.DigestAuthenticationProvider.superDigest=bushro:TtxWlRxmb4NPYUXbhYgJZWoOxiY=

重新启动zookeeper./zkServer.sh restart

ACL常用使用场景

  • 开发/测试环境分离,开发者无权限操作测试库的节点,只能看
  • 生成环境上控制指定ip的服务可以访问相关节点,防止混乱

zk四字命令Four Letter Words

  • zk可以通过它自身提供的简写命令来和服务器进行交互
  • 需要使用到nc命令,安装:yum install nc
  • echo [commond] | nc [ip] [port]
  • [stat] 查看zk的状态信息,以及是否mode(集群还是单例模式)

20190706153223843.png

  • [ruok]查看当前zkserver是否启动,返回imok
  • [dump] 列出未经处理的会话和临时节点

20190706153952859.png

[conf] 查看服务器配置

2019070615411520.png

[cons] 展示连接到服务器的客户端信息

[envi] 环境变量

[mntr] 监控zk健康信息

[wchs] 展示watch的信息

[wchc] 与[wchp]session与watch及path与watch信息

编辑conf下的配置文件,最后一行加上

4lw.commands.whitelist=*


20190706160149171.png

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3月前
|
存储 API Apache
【zookeeper 第三篇章】客户端 API
本文介绍了Apache ZooKeeper客户端的一些常用命令及其用法。首先,`create`命令用于创建不同类型的节点并为其赋值,如持久化节点、有序节点及临时节点等。通过示例展示了如何创建这些节点,并演示了创建过程中的输出结果。其次,`ls`命令用于列出指定路径下的所有子节点。接着,`set`命令用于更新节点中的数据,可以指定版本号实现乐观锁机制。
33 0
|
1月前
|
存储 负载均衡 监控
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
这篇文章是关于Apache Dubbo框架与Zookeeper的关系,以及如何下载、安装和启动Zookeeper的教程,包括解决启动过程中可能遇到的报错问题。
51 3
dubbo学习一:zookeeper与dubbo的关系,下载安装启动zookeeper(解决启动中报错)
|
1月前
|
监控 Dubbo Java
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
这篇文章详细介绍了如何将Spring Boot与Dubbo和Zookeeper整合,并通过Dubbo管理界面监控服务注册情况。
80 0
dubbo学习三:springboot整合dubbo+zookeeper,并使用dubbo管理界面监控服务是否注册到zookeeper上。
|
1月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
62 1
|
1月前
|
存储 Kubernetes 调度
k8s学习--k8s群集部署zookeeper应用及详细解释
k8s学习--k8s群集部署zookeeper应用及详细解释
|
2月前
|
负载均衡 API 数据安全/隐私保护
Zookeeper的客户端-原生的API
Zookeeper的客户端-原生的API
|
4月前
|
API
【想进大厂还不会阅读源码】ShenYu源码-替换ZooKeeper客户端
ShenYu源码阅读。相信大家碰到源码时经常无从下手,不知道从哪开始阅读😭。我认为有一种办法可以解决大家的困扰!至此,我们发现自己开始从大量堆砌的源码中脱离开来😀。ShenYu是一个异步的,高性能的,跨语言的,响应式的 API 网关。
|
6月前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
74 11
|
6月前
|
存储
ZooKeeper客户端常用命令
ZooKeeper客户端常用命令
66 1
|
6月前
|
网络协议 中间件 数据库
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
Zookeeper学习系列【三】Zookeeper 集群架构、读写机制以及一致性原理(ZAB协议)
262 0