zookeepercli - Command Line Interface for ZooKeeper
简介
ZooKeeper命令行界面(CLI)用于与ZooKeeper进行交互以用于开发目的。它对于调试很有用。
要执行ZooKeeper CLI操作,首先打开你的ZooKeeper服务器(“bin / zkServer.sh start”),然后打开ZooKeeper客户端(“bin / zkCli.sh”)。一旦客户端启动,可以执行以下操作 -
- 创建znode
- 获取数据
- 观察znode的变化
- 设置数据
- 创建znode的子节点
- 列出znode的子节点
- 检查状态
- 删除/删除znode
现在让我们用一个例子逐个看看上面的命令。
创建Znodes
创建具有给定路径的znode。该默认情况下,所有znode都是持久的。
语法
create /path /data
Example
create /FirstZnode “Myfirstzookeeper-app”
输出
[zk: localhost:2181(CONNECTED) 0] create /FirstZnode “Myfirstzookeeper-app”
Created /FirstZnode
获取数据
它返回指定znode及关联数据。包含上次修改数据的时间,修改的位置以及有关数据的信息。
语法
get /path
Example
get /FirstZnode
输出
[zk: localhost:2181(CONNECTED) 1] get /FirstZnode
“Myfirstzookeeper-app”
cZxid = 0x7f
ctime = Mon Feb 27 16:15:47 HKT 2017
mZxid = 0x7f
mtime = Mon Feb 27 16:15:47 HKT 2017
pZxid = 0x7f
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 22
numChildren = 0
Watch
当指定的znode或znode的子数据更改时,watch会显示通知。只能在get命令中设置watch。
语法
get /path [watch] 1
Example
get /FirstZnode 1
输出
[zk: localhost:2181(CONNECTED) 1] get /FirstZnode 1
“Myfirstzookeeper-app”
cZxid = 0x7f
ctime = Mon Feb 27 16:15:47 HKT 2017
mZxid = 0x7f
mtime = Mon Feb 27 16:15:47 HKT 2017
pZxid = 0x7f
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 22
numChildren = 0
输出类似于正常的get命令,但它会在后台等待znode更改。
设置数据
设置指定znode的数据。完成此设置操作后,可以使用get CLI命令检查数据。
语法
set /path /data
Example
set /SecondZnode Data-updated
输出
[zk: localhost:2181(CONNECTED) 1] get /SecondZnode “Data-updated”
cZxid = 0x82
ctime = Mon Feb 27 16:15:47 HKT 2017
mZxid = 0x83
mtime = Mon Feb 27 16:15:47 HKT 2017
pZxid = 0x82
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x15018b47db00000
dataLength = 14
numChildren = 0
如果你在get命令中指定了watch选项(如在上一个命令中),那么输出将类似于如下所示 -
输出
[zk: localhost:2181(CONNECTED) 1] get /FirstZnode “Mysecondzookeeper-app” WATCHER: : WatchedEvent state:SyncConnected type:NodeDataChanged path:/FirstZnode
cZxid = 0x7f
ctime = Mon Feb 27 16:15:47 HKT 2017
mZxid = 0x84
mtime = Mon Feb 27 16:15:47 HKT 2017
pZxid = 0x7f
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 23
numChildren = 0
创建子节点
创建子节点类似于创建新的znode。唯一的区别是子节点znode的路径也将具有父路径。
语法
create /parent/path/subnode/path /data
Example
create /FirstZnode/Child1 firstchildren
输出
[zk: localhost:2181(CONNECTED) 16] create /FirstZnode/Child1 “firstchildren”
created /FirstZnode/Child1
[zk: localhost:2181(CONNECTED) 17] create /FirstZnode/Child2 “secondchildren”
created /FirstZnode/Child2
列出子节点
此命令用于列出和显示znode 的子节点。
语法
ls /path
Example
ls /MyFirstZnode
输出
[zk: localhost:2181(CONNECTED) 2] ls /MyFirstZnode
[mysecondsubnode, myfirstsubnode]
检查状态
状态描述指定znode的元数据。它包含详细信息,如时间戳,版本号,ACL,数据长度和子节点znode。
语法
stat /path
Example
stat /FirstZnode
输出
[zk: localhost:2181(CONNECTED) 1] stat /FirstZnode
cZxid = 0x7f
ctime = Mon Feb 27 16:15:47 HKT 2017
mZxid = 0x7f
mtime = Mon Feb 27 16:15:47 HKT 2017
pZxid = 0x7f
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 23
numChildren = 0
删除Znode
删除指定的znode并递归地删除其所有子节点。这将发生只有这样的znode可用。
语法
rmr /path
Example
rmr /FirstZnode
输出
[zk: localhost:2181(CONNECTED) 10] rmr /FirstZnode
[zk: localhost:2181(CONNECTED) 11] get /FirstZnode
Node does not exist: /FirstZnode
Delete (delete /path) 命令类似于remove命令,只适用于没有子节点的znode。
zookeepercli - Command Line Interface for ZooKeeper的更多相关文章
- MySQL 5.6 Warning: Using a password on the command line interface can be insecure
MySQL 5.6 在命令行输入密码,就会提示这些安全警告信息. Warning: Using a password on the command line interface can be inse ...
- MySQL 5.6 警告信息 command line interface can be insecure 修复
在命令行输入密码,就会提示这些安全警告信息. Warning: Using a password on the command line interface can be insecure. 注: ...
- atprogram.exe : Atmel Studio Command Line Interface
C:\Program Files\Atmel\Atmel Studio 6.1\atbackend\atprogram.exe No command specified.Atmel Studio Co ...
- Centos下_MysqL5.7在使用mysqldump命令备份数据库报错:mysqldump: [Warning] Using a password on the command line interface can be insecure.
在阿里云服务器增加一个shell脚本定时备份数据库脚本执行任务时,测试性的执行了备份命令,如下 [root@iZ2ze503xw2q1fftv5rhboZ mysql_bak]# /usr/local ...
- Warning: Using a password on the command line interface can be insecure.
[root@qttc ~]# /usr/local/mysql/bin/mysqldump -uroot -proot db > bak.sqlWarning: Using a passwor ...
- mysql 备份报错mysqldump: [Warning] Using a password on the command line interface can be insecure.
-------------------------------------------------------------------------------- mysql 备份报错mysqldump ...
- vue-cli 脚手架 Command Line Interface
mac sudo npm install -g nrm sudo npm config -g set unsafe-perm sudo npm install webpack@3.0.0 -g sud ...
- MYSQL5.7脚本运行时出现[Warning] Using a password on the command line interface can be insecure
MYSQL版本:5.7 在写linux脚本执行MYSQL命令的时候,如果使用 MYSQL="mysql -hlocalhost -P3306 -uroot -p666666" 登陆 ...
- 消除Warning: Using a password on the command line interface can be insecure的提示
最近在部署Zabbix时需要用脚本取得一些MySQL的返回参数,需要是numberic格式的,但是调用脚本时总是输出这一句: Warning: Using a password on the comm ...
随机推荐
- oem 重建
OracleDBControl启动失败to local from URL=http://your-url.co 方法: emca -deconfig dbcontrol db -repos d ...
- Spring MVC注解配置
http://blog.csdn.net/eventys/article/details/8208808
- as 插件GsonFormat用法(json字符串快速生成javabean)
GsonFormat 主要用于使用Gson库将JSONObject格式的String 解析成实体,该插件可以加快开发进度,使用非常方便,效率高. 插件地址:https://plugins.jetbra ...
- WPF设置对象隐藏、不可用
设置隐藏时,这里将控件分为两类, 1.普通的按钮.下拉框等,根据控件的Name进行查找,设置IsEnabled为false; 2.ListView中嵌套控件,直接将列隐藏,根据GridViewColu ...
- css之margin
参考地址:http://www.imooc.com/learn/680 标准盒模型 元素尺寸 可视尺寸-clientWidth(标准)——就是上图中的border box包含的尺寸. 占据尺寸-out ...
- php 中使用include、require、include_once、require_once的区别
在PHP中,我们经常会通过include.require.include_once.require_once来引用文件,都可以达到引用文件的目的,但他们之间又有哪些区别呢,接一下我们详细的介绍一下 i ...
- django----对model查询扩展
基于对象关联查询 一对多查询(Book--Publish): 正向查询,按字段: (从关联的表中查询) book_obj.publish : 与这本书关联的出版社对象 book_obj.publish ...
- python 全栈开发,Day54(node.js初识)
一.什么是Node.js 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事 ...
- Linux学习笔记:使用shell脚本实现ftp的自动上传下载
在 Linux 下可以利用 Shell 实现 ftp 文件的自动上传和下载,封装至 crontab 更可实现定时调度. 1.ftp自动登录批量下载文件 ##### 从ftp服务器上的/home/dat ...
- 基于 OSGi 的面向服务的组件编程,helloworld
基于 OSGi 的面向服务的组件编程 OSGi(Open Services Gateway Initiative,开放服务网关协议)提供了一个面向服务组件的编程模型,基于 OSGi 编程,具有模块化, ...