zookeeper客户端 zkCli使用及常用命令
上篇(http://www.cnblogs.com/yangzhenlong/p/8270835.html)zk伪集群搭建好后,使用zkCli连接zk服务
切换到zk1/bin 目录,执行zkCli.cmd -server localhost:2181

查看zk客户端帮助
命令 h

example:
查看根目录节点: ls /

查看根节点状态:stat /

查看根节点数据和详情:get /

get和stat的区别是:get比stat(第一行)多返回节点的数据信息
在根目录下创建 永久node_1:create /node_1 "hello zk"
然后: ls /

在node_1节点下创建 临时节点node_1_1
create -e /node_1/node_1_1 "node 1 1"

quit 之后,再连接zk1,发现node_1_1不见了。说明临时节点,只是在客户端连接时有效

在node_1节点下创建顺序节点 node_1_2,发现返回了 node_1_20000000001(序列)
create -s /node_1/node_1_2 "node 2 2"

继续执行上面的命令,发现序列号+1,这就是顺序节点
create -s /node_1/node_1_2 "node 2 2"

命令详细解释:摘自 http://blog.csdn.net/heihei36/article/details/70871074
zookeeper客户端命令详解
简介
查阅了网上相关资料,介绍zookeeper客户端命令并不是非常全面,大多数都是简单介绍ls、get、set、delete、stat这几个简单命令的,下面我把help中的所有命令简单介绍一下以供参考。
首先说明一下如何打开zk服务端和客户端,cd到zk安装目录下,运行bin/zkServer.shstart即可启动服务端,运行bin/zkCli.sh –server ip:port即可启动客户端。
help命令
显示客户所支持的所有命令,如:
ZooKeeper -server host:port cmd args
connecthost:port
getpath [watch]
lspath [watch]
setpath data [version]
rmrpath
delquota[-n|-b] path
quit
printwatcheson|off
create[-s] [-e] path data acl
statpath [watch]
close
ls2path [watch]
history
listquotapath
setAclpath acl
getAclpath
syncpath
redocmdno
addauthscheme auth
deletepath [version]
setquota-n|-b val path
connect命令
连接zk服务端,与close命令配合使用可以连接或者断开zk服务端。
如connect 127.0.0.1:2181
get命令
获取节点信息,注意节点的路径皆为绝对路径,也就是说必要要从/(根路径)开始。
如get /
hello world
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x5
mtime = Thu Apr 27 15:09:00 CST 2017
pZxid = 0xc
cversion = 1
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 1
详解:
hello world为节点数据信息
cZxid节点创建时的zxid
ctime节点创建时间
mZxid节点最近一次更新时的zxid
mtime节点最近一次更新的时间
cversion子节点数据更新次数
dataVersion本节点数据更新次数
aclVersion节点ACL(授权信息)的更新次数
ephemeralOwner如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0
dataLength节点数据长度,本例中为hello world的长度
numChildren子节点个数
ls命令
获取路径下的节点信息,注意此路径为绝对路径,类似于linux的ls命令。
如ls /zookeeper
set命令
设置节点的数据。
如set /zookeeper "hello world"
rmr命令
删除节点命令,此命令与delete命令不同的是delete不可删除有子节点的节点,但是rmr命令可以删除,注意路径为绝对路径。
如rmr /zookeeper/znode
delquota命令
删除配额,-n为子节点个数,-b为节点数据长度。
如delquota –n 2,请参见listquota和setquota命令。
quit命令
退出。
printwatches命令
设置和显示监视状态,on或者off。
如printwatches on
create命令
创建节点,其中-s为顺序充点,-e临时节点。
如create /zookeeper/node1"test_create" world:anyone:cdrwa
其中acl处,请参见getAcl和setAcl命令。
stat命令
查看节点状态信息。如stat /
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x1f
mtime = Thu Apr 27 16:05:14 CST 2017
pZxid = 0xc
cversion = 1
dataVersion = 3
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 1
与get命令大体相同,请参见get命令。
close命令
断开客户端与服务端的连接。
ls2命令
ls2为ls命令的扩展,比ls命令多输出本节点信息。
如 ls /zookeeper
history命令
列出最近的历史命令。
如history
0 - ls /
1 - ls /
2 - ls2 /
3 - history
4 - listquota /zookeeper
5 – history
基本格式为:命令ID-命令,可以与redo命令配合使用。
listquota命令
显示配额。
如listquota /zookeeper
absolute path is/zookeeper/quota/zookeeper/zookeeper_limits
Output quota for /zookeepercount=2,bytes=-1
解释:
/zookeeper节点个数限额为2,长度无限额。
setAcl命令
设置节点Acl。
此处重点说一下acl,acl由大部分组成:1为scheme,2为user,3为permission,一般情况下表示为scheme:id:permissions。
其中scheme和id是相关的,下面将scheme和id一起说明。
scheme和id
world: 它下面只有一个id, 叫anyone, world:anyone代表任何人,zookeeper中对所有人有权限的结点就是属于world:anyone的
auth: 它不需要id, 只要是通过authentication的user都有权限(zookeeper支持通过kerberos来进行authencation, 也支持username/password形式的authentication)
digest: 它对应的id为username:BASE64(SHA1(password)),它需要先通过username:password形式的authentication
ip: 它对应的id为客户机的IP地址,设置的时候可以设置一个ip段,比如ip:192.168.1.0/16, 表示匹配前16个bit的IP段
super: 在这种scheme情况下,对应的id拥有超级权限,可以做任何事情(cdrwa)
permissions
CREATE(c): 创建权限,可以在在当前node下创建child node
DELETE(d): 删除权限,可以删除当前的node
READ(r): 读权限,可以获取当前node的数据,可以list当前node所有的child nodes
WRITE(w): 写权限,可以向当前node写数据
ADMIN(a): 管理权限,可以设置当前node的permission
综上,一个简单使用setAcl命令,则可以为:
setAcl /zookeeper/node1 world:anyone:cdrw
getAcl命令
获取节点Acl。
如getAcl /zookeeper/node1
'world,'anyone
: cdrwa
注:可参见setAcl命令。
sync命令
强制同步。
如sync /zookeeper
由于请求在半数以上的zk server上生效就表示此请求生效,那么就会有一些zk server上的数据是旧的。sync命令就是强制同步所有的更新操作。
redo命令
再次执行某命令。
如redo 10
其中10为命令ID,需与history配合使用。
addauth命令
节点认证。
如addauth digest username:password,可参见setAcl命令digest处。
使用方法:
一、通过setAcl设置用户名和密码
setAcl pathdigest:username:base64(sha1(password)):crwda
二、认证
addauth digest username:password
delete命令
删除节点。
如delete /zknode1
setquota命令
设置子节点个数和数据长度配额。
如setquota –n 4 /zookeeper/node 设置/zookeeper/node子节点个数最大为4
setquota –b 100 /zookeeper/node 设置/zookeeper/node节点长度最大为100
本文为原创,转载请注明出处。谢谢。
署名:嘿嘿
zookeeper客户端 zkCli使用及常用命令的更多相关文章
- ZooKeeper客户端 zkCli.sh 节点的增删改查
zkCli.sh 在 bin 目录下的 zkCli.sh 就是ZooKeeper客户端 ./zkCli.sh -timeout 5000 -server 127.0.0.1:2181 客户端与 ...
- 以太坊geth客户端下的一些常用命令
这是一个交互式的 JavaScript 执行环境,在这里面可以执行 JavaScript 代码,其中 > 是命令提示符.在这个环境里也内置了一些用来操作以太坊的 JavaScript 对象,可以 ...
- zookeeper 客户端 zkCli 命令详解
该文写的比较详细 https://blog.csdn.net/feixiang2039/article/details/79810102
- ZooKeeper客户端 zkCli.sh 节点的配额设置
首先使用 zkCli.sh 连接上ZooKeeper服务器 配额设置命令格式如下: setquota -n|-b val path -n:val设置子节点个数 -b:val设置节点的数据长度 如果我们 ...
- zookeeper客户端操作
ZooKeeper客户端 zkCli.sh 节点的增删改查 在 bin 目录下的 zkCli.sh 就是ZooKeeper客户端 ./zkCli.sh -timeout 5000 -server ...
- ZooKeeper 之 zkCli.sh客户端的命令使用
zkCli.sh的使用 ZooKeeper服务器简历客户端 ./zkCli.sh -timeout 0 -r -server ip:port ./zkCli.sh -timeout 5000 -ser ...
- zkCli的使用 常用的节点增删改查命令用法
zkCli的使用 常用的节点增删改查命令用法 1. 建立会话 命令格式:zkCli.sh -timeout 0 -r -server ip:port ./zkCli.sh -server -time ...
- Zookeeper命令行操作(常用命令;客户端连接;查看znode路径;创建节点;获取znode数据,查看节点内容,设置节点内容,删除节点;监听znode事件;telnet连接zookeeper)
8.1.常用命令 启动ZK服务 bin/zkServer.sh start 查看ZK服务状态 bin/zkServer.sh status 停止ZK服务 bin/zkServer.sh stop 重启 ...
- Zookeeper常用命令行及API
一.Zookeeper常用命令行 1.启动zookeeper客户端(在启动zookeeper集群后启动进行调试) zkCli.sh 2.查看帮助.操作历史 help.history 3.查看当前Zno ...
随机推荐
- bzoj3796(后缀数组)(SA四连)
bzoj3796Mushroom追妹纸 题目描述 Mushroom最近看上了一个漂亮妹纸.他选择一种非常经典的手段来表达自己的心意——写情书.考虑到自己的表达能力,Mushroom决定不手写情书.他从 ...
- Python基础教程2上的一处打印缺陷导致的代码不完整#1
#1对代码的完善的 出现打印代码处缺陷截图: 图片上可以看到,定义的request根本没有定义它就有了.这个是未定义的,会报错的,这本书印刷问题,这个就是个坑,我也是才发现.花了点时间脱坑. 现在发完 ...
- Html的简单学习笔记
1.Html简介 1)什么是html: HyperText Markup Language:超文本标记语言,网页语言. >超文本:超出文本范围. >标记: html中所有的操作都是使用标记 ...
- 交叉编译jpeglib遇到的问题
由于要在开发板中加载libjpeg,不能使用gcc编译的库文件给以使用,需要自己配置使用另外的编译器编译该库文件. /usr/bin/ld: .libs/jaricom.o: Relocations ...
- POJ 3522 Slim Span(极差最小生成树)
Slim Span Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 9546 Accepted: 5076 Descrip ...
- aerospike数据库配置
https://blog.csdn.net/u011344514/article/details/53082757
- jquery 实现按回车键登录功能的写法
<script> //登录的逻辑函数 自己写 function submitFuc(){ var loginName= $("#loginName").val(); v ...
- BZOJ4653 尺取法 + 线段树
https://www.lydsy.com/JudgeOnline/problem.php?id=4653 首先很容易想到离散之后排序,用线段树或者树状数组去维护. 问题在于按照什么排序,如果按照左端 ...
- spark常见异常汇总
spark常见异常汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 温馨提示: 如果开发运行spark出现问题啦,可能需要运维这边做一些调优,也可能是开发那边需要修改代码.到 ...
- hadoop 分布式开发环境搭建
一,安装java环境 添加java环境变量 vi /etc/profile # add by tank export JAVA_HOME=/data/soft/jdk/jdk1.7.0_71 ex ...