zookeeper常用命令
1.启动/停止/查看状态
zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo.cfg zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo.cfg zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo.cfg
2.连接客户端
zkCli.sh -server ip:port
3.查看帮助
help
4.查看节点状态
# watch可选,有watch表示监听这个节点,节点有变化会立刻通知
stat path [watch]
5.设置节点内容
# version可选,建议修改数据加上版本号,保证数据一致性
set path data [version]
6.列出节点
# watch可选,有watch表示监听这个节点,节点有变化会立刻通知
ls path [watch]
# 包含该节点的详细信息,如子节点总数等
ls2 path [watch]
7.对节点设置配额
setquota -n|-b val path
# n:表示子节点的最大个数
# b:表示数据值的最大长度
# val:子节点最大个数或数组值的最大长度
# path:节点路径
# 例如,设置节点node1最大子节点数为1,虽然设置了限制,但是还是可以为node1节点创建超过1的子节点数,会在zookeeper日志中抛出警告
setquota -n 1 /node1
8.列出节点配额
listquota path
9.删除节点限制
delquota [-n|-b] path
# 例如,删除节点node1子节点最大个数限制
delquota -n /node1
10.授权
setAcl path acl
# 这是其中两种授权方式的列子,其中rwadc分别代表读、写、管理、删除、查询五种方式,可选其中一种或者几种
# 1.auth方式
addauth disgest username:password #(用户名和密码)
setAcl /auth auth:username:password:rwadc
# 2.digest方式
# 先将密码明文加密,即先使用sha1,再使用base64
echo -n test:test | openssl dgst -binary -sha1 | openssl base64
# 将生成的密文设为密码
setAcl /path digest:用户名:密码密文:权限
# 3.访问,两种方式都是这样
addauth digest 用户名:密码明文
get path
11.检查权限
getAcl path
12.重复命令
# cmdno代表上一次的操作的数字,
#[zk: 47.96.102.205:2181(CONNECTED) 4] get /acl,这里为4
redo cmdno
13.打开或关闭监听日志
printwatches on|off
14.删除节点
# 此命令不可以删除有子节点的节点
delete path [version]
15.与leader同步数据
# 在获取数据前,应该先执行sync,保证获取到最新数据,sync是异步的,无需等待,
# zookeeper能保证所有后续操作在sync完成后执行
sync path
16.获取节点数据
get path [watch]
17.删除节点
# 该命令可以删除有子节点的节点
rmr path
18.添加节点
create [-s] [-e] path data acl
# s:顺序节点
# e:临时节点
# path:路径
# data:节点数据
# acl:节点权限
19.关闭连接
close
20.退出
quit
21.连接到服务器
connect host:port
22.访问有权限的节点
addauth scheme auth
# scheme,有五种方式,分别是,word,auth,digest,host,ip,可参考https://www.jianshu.com/p/147ca2533aff