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 ...
随机推荐
- 005_关于HTTP协议中的保持连接
缘起 中午在群里讨论,用ab测试 一台只提供静态文件服务, 不与其他任何系统交互的时候,为什么也会产生大量的TIME WAIT状态的. 首先,我们可以简单的理解,在TCP连接的两端,谁主动断开连接(先 ...
- CNN卷积核计算
作者:十岁的小男孩 目录 单层卷积核计算 三维卷积核计算 Padding=Valid&&Same 总结
- Windows Mysql安装
一.从https://dev.mysql.com/downloads/windows/installer/5.6.html下载MySQL Installer 二.直接点击默认安装
- Python 检测系统时间,k8s版本,redis集群,etcd,mysql,ceph,kafka
一.概述 线上有一套k8s集群,部署了很多应用.现在需要对一些基础服务做一些常规检测,比如: 系统时间,要求:k8s的每一个节点的时间,差值上下不超过2秒 k8s版本,要求:k8s的每一个节点的版本必 ...
- 数据库中的null用法
- Thread + 匿名内部类
package chapter01; public class MyThread01 extends Thread{ @Override public void run() { //让当前线程执行的代 ...
- maven创建父子关系的聚合项目
我最近使用eclipse的mavean插件创建父子关系的聚合项目,如果创建子工程直接在父工程我相信大家都会创建,但是子工程在父工程中的其中一个文件夹里面,我们创建子工程是直接存在父工程下面的,当我们想 ...
- 《Java程序性能优化》之设计优化
豆瓣读书:http://book.douban.com/subject/19969386/ 第一章 Java性能调优概述 1.性能的参考指标 执行时间: CPU时间: 内存分配: 磁盘吞吐量: 网络吞 ...
- Nordic Collegiate Programming Contest NCPC 2017-Problem G Galactic Collegiate Programming Contest
题目大意:有n( n<1e5 )只队伍参加程序竞赛,然后给m个信息,每个信息告诉你第p 个队伍过了一题,并且告诉你罚时是多少,让你输入每个信息之后,第一个队伍的 排名. 思路:一眼看过去就像数据 ...
- 020 SpringMVC返回Json
一:处理Json 1.添加jar包 添加json需要的包 2.后端返回json对用的对象或者集合 使用ResponseBody标签 package com.spring.it.json; import ...