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
转自https://blog.csdn.net/heihei36/article/details/70871074
zookeeper 操作命令的更多相关文章
- zookeeper学习(3)----基本结构和命令行操作命令
一. 数据结构 https://www.jianshu.com/p/8e322462bcca zookeeper存储结构:以树形结构的方式存储数据 ZooKeeper数据模型的结构整体上可以看作是一棵 ...
- Zookeeper异常ConnectionLossException解决
项目中要求做一个将配置文件读取到zookeeper节点上的工具: 开发代码如下: 但是当连接到远端的Zookeeper服务之后,出现了下面异常: Exception in thread "m ...
- Zookeeper 运维实践手册
Zookeeper是一个高可用的分布式数据管理与协调框架,该框架能很好地保证分布式环境中数据一致性.一般用来实现服务发现(类似DNS),配置管理,分布式锁,leader选举等. 一.生产环境中Zook ...
- 聊聊、Zookeeper 数据结构和操作命令
Zookeeper 的视图结构跟标准的 Unix 文件系统很像,都有一个根节点 / .在根节点下面就是一个个的子节点,我们称为 ZNode.ZNode 是 Zookeeper 中最小数据单位,在 ZN ...
- Zookeeper服务常用的操作命令
Zookeeper服务安装之后,一般会在这个服务的基础之上安装其他的大数据平台,其他的框架一般会提供很多接口对Zookeeper中的内容进行一定的操作,但是功能相对单一,所以有些时候,有必要我们自己登 ...
- Zookeeper常用操作命令 ls,ls2,get和stat
一.启动zk客户端 进入bin目录 cd /usr/local/zookeeper-3.4.13/bin ./zkCli.sh 出现如下界面,说明已经连接上了 二.ls与ls2命令 1. ls pa ...
- Zookeeper(二)-- 客户端操作命令
一.前提 开启zookeeper服务端,用客户端连接.输入help,查看可使用命令,如下图所示: 操作无非就是增删改查等. 二.增加 格式:create [-s] [-e] path data acl ...
- Zookeeper常用操作命令create,set,delete
一.zk特性的session的基本原理 1.客户端与服务端之间的连接存在会话 2.每个会话都可以设置一个超时时间 3.心跳结束,session则过期 4.session过期,则临时节点znode会被抛 ...
- ZooKeeper笔记--集群安装配置 【转】
ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization).命名服务(Naming S ...
随机推荐
- 强大的捉包工具Fiddler
Fiddler2出现 creation of the root certificate was not successful 错误 http://www.zhaokeli.com/Article/63 ...
- [剖析] 多路径ALUA技术如何优化I/O处理
什么是ALUA多路径机制 ALUA是异步逻辑单元访问(Asymmetric Logical Unit Access)的缩写,ALUA是SPC3 (SCSI Primary commands-3)协议中 ...
- Python解释器安装问题-windows
问题一-更新问题(update your machine) 解决方案 1 搜索 windows update 2 检查更新 3 安装更新重启 问题二-0x80072efd错误 问题原因: 安装包需要在 ...
- ROS文件系统级
ROS的安装就不介绍了,官方教程是最好的:点击打开链接 ROS是机器人操作系统,它应该有自己的工程结构,Linux系统的文件系统如下: 而ROS的文件系统级如下: 接下来逐一介绍它们: 1. catk ...
- jquery入门使用
目录 jquery入门使用 1.jQuery简介 jQuery介绍 jQuery优点 2.jQuery的load方法 load方法介绍 load实例 代码 3.jQuery的get方法 get()方法 ...
- 生成一张带有logo的二维码图片
string url = 二维码内容; , , Encoding.UTF8); // 合成活动的LOGO图片 var hasImage = GlobalTools.GetCommonContent(& ...
- OpenFOAM 中的边界条件(二)【转载】
转载链接:http://xiaopingqiu.github.io/2016/04/02/Boundary-conditions-in-OpenFOAM2/ 本篇在上一篇的基础上来解读 OpenFOA ...
- Java 面向对象(十三)
异常 什么是异常 异常 :指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止. 在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象. ...
- 小福bbs-凡事预则立
[小福bbs-凡事预则立] 1.冲刺的时间计划安排(冲刺时间为期七天,安排在2019-11-3--2019-11-14之间) 冲刺的时间 计划安排 2019.11.7 开会,安排具体工作 2019.1 ...
- Discretized Streams: A Fault-Tolerant Model for Scalable Stream Processing
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2012/EECS-2012-259.pdf Discretized Streams: A Fault-Tol ...