Java中的zookeeper常用命令详解
作者:怪?咖@ 时间:2022-12-07 05:46:35
注意我这里用的是官方最稳定的版本3.7.1,版本之间有个别命令是有差距的!
1.zkCli.sh客户端
zkCli.sh
可以理解成客户端,也可以理解成命令行工具,把命令交给他,让他和zk的服务端打交道。
类似于mysql,我们安装完mysql想要执行命令,那么就必须要通过mysql -u账号 -p密码
进入命令行工具里面,才能执行sql。
在zookeeper/bin 目录下:
执行./zkCli.sh
就进入到了客户端
ls /
:查询当前目录下的节点create /test1
:创建test1节点
客户端关闭:
输入quit 或者按 Ctrl + C
2.多节点类型创建
创建持久节点:
create /test2
创建持久序号节点:
create -s /test2
创建临时节点:
create -e /test2
创建临时序号节点:
create -e -s /test2
创建容器节点:
create -c /test2
创建test3临时节点,并向节点赋值数据1(其他节点创建的时候赋值同样如此,在后面跟上数据即可):create -e /test3 1
3.查询节点
查询子节点:
查询当前节点的子节点:
ls /
就是获取test2下的子节点:
ls /test2
普通节点下的数据:
get /test2
查询节点详细信息:
get -s /test2
||start /test2
||ls -s /test2
(这三种都可以的)
4.set数据
set [-s] [-v version] path data
path:节点路径。
data:需要存储的数据。
[-v version]:可选项,版本号(可用作乐观锁)。
[-s]:set后返回详情,不添加-s就是返回的set的数据
版本不对就set不成功!
5.删除节点
普通删除
删除a下的b节点:
delete /a/b
删除a节点:
delete /a
不管有没有子节点都删除:
deleteall /test1
乐观锁删除(1就是get -s查询出来的dataVersion版本,版本不对删除就失败):
delete -v 1 /test2
6.权限设置
acl:权限,定义了什么样的⽤户能够操作这个节点,且能够进⾏怎样的操作。
c: create 创建权限,允许在该节点下创建⼦节点
w:write 更新权限,允许更新该节点的数据
r:read 读取权限,允许读取该节点的内容以及⼦节点的列表信息
d:delete 删除权限,允许删除该节点的⼦节点
a:admin 管理者权限,允许对该节点进⾏acl权限设置
常用命令:
获取某个节点的 acl 权限信息:
getAcl /test2
设置某个节点的 acl 权限信息:
指定该节点只有c的权限:
setAcl /test2 world:anyone:c
指定某个ip具有什么权限:
setAcl /runoob/ip ip:192.168.3.7:cdrwa
注册当前会话的账号和密码:
addauth digest xiaowang:123456
创建一个节点赋值abcd数据,然后必须使用xiaoming账号密码才能进行读写权限,这时候使用别的会话是访问不了这个节点的。
create /test-node abcd auth:xiaowang:123456:cdwra
在另⼀个会话中必须先使⽤账号密码,才能拥有操作该节点的权限
7.其他命令
当命令输入错误的时候会出现命令帮助文档的!
查看当前会话的历史命令:history
来源:https://blog.csdn.net/weixin_43888891/article/details/125400879