`
QING____
  • 浏览: 2253457 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

zkCli.sh指令备忘

 
阅读更多

1) 创建节点

    格式:create [-s] [-e] path data acl

    其中"-s"表示创建一个"有序"节点,"-e"表示创建一个临时节点.默认为持久性节点

 

->create -s /test null
->create /test null

    如下为包括ACL的例子: 

 

 

->create -s /test null digest:test:Kk3Nr5X06NH+XdlGMyOrULgK/mo=:rwcda

    创建一个path为"/test"的节点,值为"null",ACL授权方式为"digest",其中授权的用户名:密码为"test:Kk3Nr5X06NH+XdlGMyOrULgK/mo=",ACL的权限列表为"r""w""c""d""a".

    "digest"授权方式表示client方位此节点数据,需要指定用户名和密码,可以参考zookeeper中DigestAuthenticationProvider.generateDigest(String ipName)方法;通过向此方法指定原始的用户名和密码即可获得"digest"之后的字符串,比如传入"test:test",将会得到"test:V28q/NynI4JI3Rk54h0r8O5kMug=",其内部原理是将"密码"部分进行MD5 + sha1操作.再zkCli.sh指令上你需要传递digest之后的字符串.

    其中ACL的授权方式有很多种,你可以在ZooDefs类中找到更多的信息.

    最后一个参数为权限列表,r表示"read",w表示"write",c表示"create",d表示"delete",a表示"admin"

 

2) 获取节点数据

    格式:get path   

 

-> get /test
-e
cZxid = 0x5b
ctime = Mon Sep 16 14:14:06 CST 2013
mZxid = 0x5b
mtime = Mon Sep 16 14:14:06 CST 2013
pZxid = 0x67
cversion = 7
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 5

    你可以从结果列表中,获得所有的节点信息.

 

 

3) 查看子节点列表

    指令: ls /path

4) 设置节点值

    格式: set path data [version]

 

-> set /test 1313131 -1

    其中值需要为字符串,版本号可以通过2)中的指令获取,如果版本号为"-1"表示更新时忽略版本校验.

 

5) 删除所有节点

    格式: rmr path

 

-> rmr /test

    将会删除"/test"以及其下的所有子节点.

 

6)  设置ACL

    格式: setAcl path acl

 

-> setAcl /test digest:test:Kk3Nr5X06NH+XdlGMyOrULgK/mo=:rwcda

    和create指令非常相似. 

 

7) 删除节点

    格式: delete path [version]

 

-> delete /test -1

    需要注意的是,如果此path下还有子节点,将导致删除失败.这是和"rmr"指令的区别.

 

8) 添加授权信息

    格式: addauth schema auth

 

-> addauth digest test:test

   只有授权之后,才能够访问那些具有ACL控制的节点数据.注意"auth"信息为原始的用户名和密码,而不是经过DigestAuthenticationProvider签名之后的.  如果使用了错误的授权信息,可能导致"Authentication is not valid : ".

 

分享到:
评论

相关推荐

    zookeeper中zkServer.sh命令、zkCli.sh命令、四字命令介绍 - 云计算技术频道 - 红黑联盟1

    在Zookeeper中,有三个重要的命令行工具,分别是`zkServer.sh`、`zkCli.sh`和四字命令。这些工具对于管理和监控Zookeeper集群至关重要。 **一、zkServer.sh** `zkServer.sh`是Zookeeper服务的控制脚本,用于启动、...

    spring boot/spring cloud项目启动脚本,默认名称:start.sh

    linux服务器,springboot,spring cloud、spring ...sh start.sh start sh start.sh stop sh start.sh restart sh start.sh status 或者: ./start.sh start ./start.sh stop ./start.sh restart ./start.sh status

    魅蓝note3 global.sh beta.sh

    命令输入工具(终端模拟器,可在自带的应用商店中搜索下载 一个551k大小的安装包),公开版官方包(官网中下载),脚本文件global.sh 手机必须彻底root(自带root开启后下载Kingroot获取完整权限 这个root不用担心...

    ubuntu如何运行.sh文件,.sh文件运行提示脚本异常

    ubuntu执行.sh文件,1 .sh文件是Ubuntu下可执行文件,首先需要确定它的权限是否是可执行的,2、 用vim打开sh文件,3、查看文件格式:4. 修改文件格式: 5. 保存退出: 6. 执行:./filename 注意:不可以用sh ...

    iterm2-send-zmodem.sh and iterm2-recv-zmodem.sh

    本文将详细讲解如何利用`iTerm2`配合`ZModem`协议的脚本`iterm2-send-zmodem.sh`和`iterm2-recv-zmodem.sh`来解决在远程服务器上进行文件传输时遇到的问题。 首先,让我们了解`ZModem`协议。`ZModem`是一种双向、...

    getinfo.sh

    chmod +x getinfo.sh ./getinfo.sh 注:此脚本可以以一般用户收集到信息(除fdisk只能以root运行) 1. 基本信息 - 适合所有linux问题 - getinfo.sh basic 2.硬盘/文件系统问题(基本,全盘信息) -需要用户成为root并...

    Ubuntu下运行.sh文件

    在Ubuntu操作系统中,`.sh` 文件通常是一种shell脚本,用于执行一系列的命令或自动化任务。这类文件在Linux和类Unix系统中广泛使用。要成功地在Ubuntu上运行`.sh` 文件,你需要遵循一系列步骤,确保文件具有正确的...

    acme.sh 实现了 acme 协议,可以从 Let's Encrypt 生成免费的证书,内含完整源代码

    acme.sh 实现了 acme 协议,可以从 Let's Encrypt 生成免费的证书,内含完整源代码 生成证书 acme.sh 实现了 acme 协议支持的所有验证协议,有两种方式验证: http 验证 和 dns 验证。 1. http 方式 http 方式需要...

    startup.sh linux 启动jar包命令

    startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令startup.sh linux 启动jar包命令

    关于Root.sh

    Oracle数据库在Linux环境下安装完成后,需要运行root.sh脚本来完成安装过程的最后一步,这个脚本主要负责执行一些需要root权限的操作,确保Oracle数据库的环境设置和权限配置正确无误。本文将详细介绍root.sh脚本的...

    tinyos.sh文件

    tinyos.sh文件,在linux环境下生成,cygwin环境下可用,tinyos.sh文件总出问题的可以下载,将绝对路径修改成自己的

    get-docker.sh docker安装脚本

    get-docker.sh docker安装脚本,可直接执行 sh get-docker.sh --mirror Aliyun 安装

    Solaris pstack.sh

    The following scripts are located in obisolaris.tar.gz (2013-07-12) obimon (0.1) - monitor memory and connection...unpackDbx.sh.sh (0.2) - extracts dbx from Studio 12.3 download. See instructions below.

    startServer.sh

    startServer.sh

    qnap-acme.sh

    威联通QNAP自动续签更新SSL证书脚本(配合acme.sh使用),支持Let's Encrypt免费证书,支持域名泛解析证书,如:*.xx.com。

    linux通用版本jar启动脚本傻瓜式启动 run.sh

    linux通用版本jar启动脚本傻瓜式启动 sh run.sh start 启动 sh run.sh stop 停止 nohup java -jar XXX.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

    wait-for-it.sh脚本

    wait-for-it.sh是一个Shell脚本,主要用于在Docker容器启动时等待某个服务(如数据库、消息队列等)变得可用。在某些分布式系统中,各个服务的启动顺序和依赖关系很重要,wait-for-it.sh可以帮助解决这个问题。

    jdk_install.sh

    liunx 一键安装jdk脚本,实现jdk 一键安装 (bash jdk_install.sh)

    ldd.sh app.sh

    "ldd.sh" 和 "app.sh" 是两个在Linux环境中常见的脚本文件,它们在Qt程序打包发布过程中扮演着重要角色。现在让我们深入探讨这两个脚本文件的功能以及它们如何与“导出库”这个概念关联。 首先,`ldd.sh` 是一个...

    get-docker.sh

    此docker安装脚本为官方提供的,可以从网上下载,此处直接上传。安装docker客户端,get-docker.sh

Global site tag (gtag.js) - Google Analytics