zookeeper的zkCli.sh命令行使用方法

zookeeper命令行操作

访问zk集群中的任一节点,数据都是一致性的(对外一致性),都由leader来处理客户端提交的数据并分发到各个节点上

运行 zkCli.sh –server <ip>进入命令行工具

zkCli.sh 客户端连接到localhost(本机)zk服务

zkCli.sh -serverslave1/ip:[2181] 连接到salve1zk服务 默认端口是2181

help 显示客户端的命令

1、使用 ls 命令来查看当前ZooKeeper 中所包含的内容:

扫描二维码关注公众号,回复: 1639899 查看本文章

[zk: 202.115.36.251:2181(CONNECTED) 1] ls /

[app2, app1, test, zookeeper]

Ls /app1 watch子节点监听(只能监听一次变化,不同监听器监听不同类型的变化)当客户端在app1节点下新建了子节点,就会有监听

WatchedEvent state:SyncConnectedtype:NodeChildrenChanged path:/app1

2、创建一个新的 znode ,使用 create/zk myData 。这个命令创建了一个新的 znode 节点“ zk ”以及与它关联的字符串:

[zk: 202.115.36.251:2181(CONNECTED) 2] create/zk "myData“

注:create -s /app1/aaa "a a a" zk不识别空格 这样存进去的数据为“a

参数-e 创建ephemeral型数据(断开连接自己删除)不加默认为持久型数据

注:临时节点下不能创建永久节点

create -e /zk1 "myData“

参数-s 以某一序列号递增来标识节点

create -s /app1/aaa 99

Created /app1/aaa0000000007

3、我们运行 get 命令来确认 znode 是否包含我们所创建的字符串:

[zk: 202.115.36.251:2181(CONNECTED) 3] get/app1

change 存的数据

cZxid = 0x20000000a 创建时的id标识

ctime = Tue Dec 12 19:53:36 CST 2017 创建时间

mZxid = 0x20000001b 修改标识,当修改数据时,它会发生改变,不修改则和创建id:cZxid相同

mtime = Tue Dec 12 20:14:00 CST 2017 修改时间

pZxid = 0x400000005 持久化id标识

cversion = 9 各种版本

dataVersion = 4

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 6   数据长度

numChildren = 7  子节点数

#监听这个节点的变化,当另外一个客户端改变/zk的数据时,它会打出下面的

[zk: localhost:2181(CONNECTED) 4] get /zkwatch(监听/zk下的数据,只监听一次变化)

#WATCHER::

#WatchedEvent state:SyncConnectedtype:NodeDataChangedpath:/zk

4、下面我们通过 set 命令来对 zk 所关联的字符串进行设置:

[zk: 202.115.36.251:2181(CONNECTED) 4] set/zk "zsl“

5、下面我们将刚才创建的 znode 删除:

[zk: 202.115.36.251:2181(CONNECTED) 5]delete /zk 当该节点下有子节点则无法删除,用rmr删除

6、删除节点:rmr

[zk: 202.115.36.251:2181(CONNECTED) 5] rmr/zk 递归删除


猜你喜欢

转载自blog.csdn.net/qq_32563713/article/details/78782442