zookeeper常用命令
zookeeper 命令用于在 zookeeper 服务上执行操作。Linux系统执行zookeeper下bin目录的zkCli.sh
$ sh zkCli.sh
一、基础常用命令
- ls 命令
用途:
查看具体路径下目录列表。
格式:
ls path
- path:节点路径。
- ls2 命令
用途:
查看某个路径下目录列表,它比 ls 命令列出更多的详细信息。
格式:
ls2 path
- path:节点路径。
- get 命令
用途:
获取节点数据和状态信息。
格式:
get path [watch]
- path:节点路径。
- [watch]:对节点进行事件监听。
- stat 命令
用途:
查看节点状态信息。
格式:
stat path [watch]
- path:节点路径。
- [watch]:对节点进行事件监听。
- create 命令
用途:
创建节点并赋值。
格式:
create [-s] [-e] path data acl
- path:节点路径。
- [-s] [-e]:-s 和 -e 都是可选的,-s 代表顺序节点, -e 代表临时节点,注意其中 -s 和 -e 可以同时使用的,并且临时节点不能再创建子节点。
- data:节点要存储的数据。
- acl:访问权限,默认world。
- set 命令
用途:
修改节点存储的数据。
格式:
set path data [version]
- path:节点路径。
- data:节点要存储的数据。
- [version]:可选,版本号,可用作乐观锁,修改时版本号需一致。
- delete 命令
用途:
删除某节点。
格式:
delete path [version]
- path:节点路径。
- [version]:可选,版本号,可用作乐观锁,删除时版本号需一致。且存在子目录无法删除。
- rmr 命令
用途:
删除某节点。
格式:
rmr path
- path:节点路径。
- rmr删除为递归删除,删除父节点则一同删除子节点。
二、acl权限控制命令
zookeeper每个节点都有五种权限:create、read、write、delete、admin,分别表示创建、读、写、删除和管理权限,简写为:crwda。
标识: scheme : id : permission
- [1] scheme: 权限模式,鉴权的策略
- [2] auth: 授权对象
- [3] digest: 权限
- [1] world: 默认方式,相当于全世界都能访问
- [2] auth: 代表已经认证通过的用户(cli中可以通过addauth digest user:pwd 来添加当前上下文中的授权用户)
- [3] digest: 即用户名:密码这种方式认证,这也是业务系统中最常用的
- [4] ip: 使用ip地址认证
- [5] super: 超级权限,可以做任何事情(cdrwa)
- [1] CREATE( c ): 创建权限,可以在在当前node下创建child node,即对子节点Create操作
- [2] DELETE( d ): 删除权限,可以删除当前的node,即对子节点Delete操作
- [3] READ( r ): 读权限,可以获取当前node的数据,可以list当前node所有的child nodes,即对本节点GetChildren和GetData操作
- [4] WRITE( w ): 写权限,可以向当前node写数据,即对本节点SetData操作
- [5] ADMIN( a ): 管理权限,可以设置当前node的permission,即对本节点setAcl操作
- getAcl 命令
用途:
获取ACL
格式:
getAcl path
- path:节点路径。
- setAcl 命令
用途:
节点添加一个权限
格式:
setAcl path digest:[username]:[Encrypted password]:[perms]
- path:节点路径。
- digest:scheme权限模式。
- username:登录名。
- Encrypted password:加密密码。BASE64(SHA1(password)),即密码先做SHA1加密然后再进行BASE64摘要。
- perms:permission权限(cdrwa任意匹配)