Zookeeper_zkCli 的使用 : 增删查改 与 配额quota

基于版本 zookeeper 3.4.5 版本比较老


zkCli 是 zookeeper 原生的与 zk服务群连接的客户端的程序。


1.如何使用zkCli,sh 连接server 与参数

2.zkCli 下的增删查改指令 与 配额 quota



1.如何使用zkCli,sh 连接server 与参数

可选的参数:

./zkCli.sh

-timeout  以ms作为统计单位

-r  只读模式, 当半数zk节点down,此时对zk集群不能操作。如果加上这个参数,能连接上集群,对zk集群进行操作(只读)读取数据。

经测试:集群工作状态正常的时候,也可以加上这个参数连接zookeeper集群。此时可以对zk集群进行操作。

-server ip:port 连接zookeeper, 用于连接远程的zookeeper.


一个连接示例:

zkCli.sh -r -timeout 2000 -server 10.202.4.22:2181 





一些基础指令:


退出 zkCli 客户端

quit




帮助指令

h




2.zkCli 下的增删查改指令 与 配额 quota


查询 节点与数据

ls path [watch]

get path [watch]

stat path [watch]

ls2 path [watch]


ls path [watch] :查询指定路径下的子节点

示例:

ls /



get path [watch] : 查询指定节点中的数据,如果节点中有数据

示例:

get /test/username



stat path [watch] : 查询指定节点的一些描述信息

示例:

stat /test


cZxid = 0x20f //创建的事务id

ctime = Sat Nov 05 14:46:03 CST 2016  //创建的时间

mZxid = 0x20f //最后一次修改的事务id

mtime = Sat Nov 05 14:46:03 CST 2016 //最后一次修改的时间

pZxid = 0x22e

cversion = 9 

dataVersion = 0  //数据的版本,每当数据被修改一次,版本号就会被加1

aclVersion = 0

ephemeralOwner = 0x0   // 

dataLength = 6                            //该节点存储的数据 的数据长度

numChildren = 3 //该节点下面有几个子节点


ls2 path [watch] : 相当于 ls 与 stat 指令的合成的效果




==============================


增加 节点与数据

创建有根路径的节点的时候,要确保上一层的节点要存在,否则会报错

create [-s] [-e] path data acl


create [-s] [-e] path data acl

-s: sequence 模式, 创建后会生成原节点+序列号的节点,再次执行相同命令会产生序列号加1的节点。

-e: 临时节点与数据, 关闭连接后数据就会被删除。

data 节点中存放的数据

acl 控制权限, 具体请参看其他文章



示例:


先创建节点,在查询节点中的内容。

create /test2 111 

get /test2



-s , 创建序列节点

create -s /test2/seq 000   执行多次,注意 value 值一定要提供




===================


修改 节点与数据

set path data [version]

version : 可选, 默认设置为 stat 该节点的版本, 若强制加上则应设置为stat 该节点查询到的版本,

否则会报错



设置数据,注意其中的版本号 与数据变化

get /test2/node

set /test2/node 13

get /test2/node 



=====================================


删除 节点与数据

rmr path

delete path [version]


delete path [version] :删除节点,确保该节点下面没有节点否则会报错。

示例:

节点下面有节点,不能删除

delete /test2



节点下面不存在子节点, 可以删除

ls /test2

delete /test2/node

ls /test2




rmr path :递归删除该节点  与 该节点的子节点。

示例:

rmr /test2




==========================

配额 quota

配额机制

zookeeper 的配额机制可以设置两种配额。

-n  设置子节点的数量,包括其自身。

-b  节点中数据的长度。

对于超出配额,系统不会导致插入或者修改不成功,但是会在 zookeeper.out 中生成错误日志。


增加配额

setquota -n|-b val path

-n 设置子节点的配额数量

-b 设置节点内容的长度



查询配额

listquota path

-1 表示无限, 即没有限制


删除配额

delquota [-n|-b] path



注意配额一旦设置完成,只能删除了重新设置,setquota 不能重置配额




示例:

0.tail -f zookeeper.out 跟踪日志

1.设置配额

2.查询配额

3.设置超过配额的数量

4.查看日志的报错


指令:


日志






==============================

其他指令


历史指令

history              //显示历史的执行指令

redo cmdno //重新执行某条指令


示例:




连接指令

connect host:port  //连接到一台远程的zk上

close


示例:


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值