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 : ".

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值