赞
踩
访问zk集群中的任一节点,数据都是一致性的(对外一致性),都由leader来处理客户端提交的数据并分发到各个节点上
运行 zkCli.sh –server <ip>进入命令行工具
zkCli.sh 客户端连接到localhost(本机)zk服务
zkCli.sh -serverslave1/ip:[2181] 连接到salve1zk服务 默认端口是2181
help 显示客户端的命令
1、使用 ls 命令来查看当前ZooKeeper 中所包含的内容:
[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 递归删除
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。