1、链接zookeeper客户端
./zkCli.sh -server 127.0.0.1:2181
2、查看节点
ls /
ls2 /
3、创建节点并初始化节点内容
create /zhaochangzhu "test"
4、创建znode,并设置初始内容, 默认内容也可以是空串,附加参数 :-s:顺序节点 ,-e:临时节点 例如:
create -e /zhaochangzhu "test"
5、获取znode节点数据
get /zhaochangzhu
6、修改znode节点内容,修改数据也可携带版本号,修改的时候要么不携带版本号,要么携带的版本号要跟dataVersion的版本号一致,否则就会报错
set /zhaochangzhu "6666what you want to update"
7、删除没有子节点的节点,如果有子节点将报Node not empty:
delete /zhaochangzhu
8、删除节点,有子节点一并删除
deleteall /zhaochangzhu
rmr /nodes
9、配额,给节点限制值,比如限制子节点个数、节点数据的长度 -n:限制子节点个数 -b:限制值的长度
create /node 123
setquota -n 2/node
create /node/node_1 234
create /node/node_2 456
create /node/node_3 789
当创建节点超出配额时,zookeeper不会抛出异常,会在bin/zookeeper.out记录警告信息。
10、查看配额,以及节点的配额状态,例如:
listquota /node
11、delquota:删除配额
12、close:关闭当前连接
13、history:查看历史执行指令
14、redo命令
再次执行某命令。
如redo 10
其中10为命令ID,需与history配合使用。
15、printwatches
在获取节点数据、子节点列表等操作时,都可以添加watch参数监听节点的变化,从而节点数据更改、子节点列表变更时收到通知,并输出到控制台。默认是打开,可以设置参数将其关闭。 例如:
printwatches on
printwatches off
16、scheme即采取的授权策略,每种授权策略对应不同的权限校验方式。下面是zk常用的几种scheme:
world:默认方式,相当于全世界都能访问
auth:不使用任何id,表示任何经过身份验证的用户。 digest:即用户名:密码这种方式认证,这也是业务系统中最常用的,使用username:password字符串生成MD5哈希,然后将其用作ACL的ID标识。通过以明文形式发送 例如:wangsaichao:123456 来完成身份验证。在ACL中使用时,表达式将是wangsaichao:G2RdrM8e0u0f1vNCj/TI99ebRMw=。
ip:使用Ip地址认证
17、world
语法:world:anyone:cdrwa
创建节点默认的scheme,所有人都可以访问
18、digest
语法:digest:username:BASE64(SHA1(password)):cdrwa
digest:是授权方式
username:BASE64(SHA1(password)):是id部分
cdrwa:权限部份
用户名+密码授权访问方式,也是常用的一种授权策略。id部份是用户名和密码做sha1加密再做BASE64加密后的组合,比如设置一个节点的用户名为wangsaichao,密码为123456,则表示方式为:
原:wangsaicaho:BASE64(SHA1(123456))
正确:wangsaichao:G2RdrM8e0u0f1vNCj/TI99ebRMw=。
19、给节点加权限操作
create /node 123
添加授权用户-----密码自动加密
addauth digest zhao:123456
将这个目录授权给这个用户
setAcl /test auth:zhao:123456:cdrwa
20、设置可访问ip
setAcl / ip:192.168.1.xx:cdrwa,ip:192.168.1.xx:cdrwa
21、所有人可访问
setAcl / world:anyone:cdrwa
22、查看权限
getAcl /