黑猴子的家:Zookeeper 客户端命令行操作

命令基本语法 功能描述
help 显示所有操作命令
ls path [watch] 使用 ls 命令来查看当前znode中所包含的内容
ls2 path [watch] 查看当前节点数据并能看到更新次数等数据
create 普通创建
-s 含有序列
-e 临时(重启或者超时消失)
get path [watch] 获得节点的值
set 设置节点的具体值
stat 查看节点状态
delete 删除节点
rmr 递归删除节点

1、启动客户端

[victor@node1 ~]# cd /opt/module/zookeeper-3.4.10/
[victor@node1 zookeeper-3.4.10]# pwd
/opt/module/zookeeper-3.4.10
[victor@node1 zookeeper-3.4.10]$ bin/zkCli.sh

2、显示所有操作命令

[zk: localhost:2181(CONNECTED) 1] help

3、查看当前znode中所包含的内容

[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
quit  退出客户端 

4、查看当前节点数据并能看到更新次数等数据

[zk: localhost:2181(CONNECTED) 1] ls2 /
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1

5、创建普通节点

案列1

[zk: localhost:2181(CONNECTED) 2] create /app1 "hello app1"
Created /app1

案列2

[zk: localhost:2181(CONNECTED) 4] create /app1/server101 "192.168.2.101"
Created /app1/server101

6、获得节点的值

案列1

[zk: localhost:2181(CONNECTED) 6] get /app1
hello app1
cZxid = 0x20000000a
ctime = Mon Jul 17 16:08:35 CST 2014
mZxid = 0x20000000a
mtime = Mon Jul 17 16:08:35 CST 2014
pZxid = 0x20000000b
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 1

案列2

[zk: localhost:2181(CONNECTED) 8] get /app1/server101
192.168.1.101
cZxid = 0x20000000b
ctime = Mon Jul 17 16:11:04 CST 2014
mZxid = 0x20000000b
mtime = Mon Jul 17 16:11:04 CST 2014
pZxid = 0x20000000b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 13
numChildren = 0

7、创建短暂节点

[zk: localhost:2181(CONNECTED) 9] create -e /app-emphemeral 8888

(1)在当前客户端是能查看到的

[zk: localhost:2181(CONNECTED) 10] ls /
[app1, app-emphemeral, zookeeper]

(2)退出当前客户端然后再重启客户端

[zk: localhost:2181(CONNECTED) 12] quit
[victor@node3 zookeeper-3.4.10]$ bin/zkCli.sh

(3)再次查看根目录下短暂节点已经删除

[zk: localhost:2181(CONNECTED) 0] ls /
[app1, zookeeper]

8、创建带序号的节点

(1)先创建一个普通的根节点app2

[zk: localhost:2181(CONNECTED) 11] create /app2 "app2"

(2)创建带序号的节点

[zk: localhost:2181(CONNECTED) 13] create -s /app2/aa 888
Created /app2/aa0000000000

[zk: localhost:2181(CONNECTED) 14] create -s /app2/bb 888
Created /app2/bb0000000001

[zk: localhost:2181(CONNECTED) 15] create -s /app2/cc 888
Created /app2/cc0000000002


如果原节点下有1个节点,则再排序时从1开始,以此类推。
[zk: localhost:2181(CONNECTED) 16] create -s /app1/aa 888
Created /app1/aa0000000001

9、修改节点数据值

[zk: localhost:2181(CONNECTED) 2] set /app1 999

10、节点的值变化监听

(1)在node3主机上注册监听/app1节点数据变化

[zk: localhost:2181(CONNECTED) 26] get /app1 watch

(2)在node2主机上修改/app1节点的数据

[zk: localhost:2181(CONNECTED) 5] set /app1 777

(3)观察104主机收到数据变化的监听

WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/app1

11、节点的子节点变化监听(路径变化)

(1)在node3主机上注册监听/app1节点的子节点变化

[zk: localhost:2181(CONNECTED) 1] ls /app1 watch
[aa0000000001, server101]

(2)在node2主机/app1节点上创建子节点

[zk: localhost:2181(CONNECTED) 6] create /app1/bb 666
Created /app1/bb

(3)观察104主机收到子节点变化的监听

WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/app1

12、删除节点

[zk: localhost:2181(CONNECTED) 4] delete /app1/bb

13、递归删除节点

[zk: localhost:2181(CONNECTED) 7] rmr /app2

14、查看节点状态

[zk: localhost:2181(CONNECTED) 12] stat /app1
cZxid = 0x20000000a
ctime = Mon Jul 17 16:08:35 CST 2014
mZxid = 0x200000018
mtime = Mon Jul 17 16:54:38 CST 2014
pZxid = 0x20000001c
cversion = 4
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 2

15、Zookeeper 四字命令

ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令见下表

ZooKeeper 四字命令 功能描述
conf 输出相关服务配置的详细信息。
cons 列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。
dump 列出未经处理的会话和临时节点。
envi 输出关于服务环境的详细信息(区别于 conf 命令)。
reqs 列出未经处理的请求
ruok 测试服务是否处于正确状态。如果确实如此,那么服务返回“ imok ”,否则不做任何相应。
stat 输出关于性能和连接的客户端的列表。
wchs 列出服务器 watch 的详细信息。
wchc 通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
wchp 通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。

案例1

[victor@node1 zookeeper-3.4.10]# echo conf|nc 192.168.2.102 2181
clientPort=2181
dataDir=/opt/module/zookeeper-3.4.10/zkdata/version-2
dataLogDir=/opt/module/zookeeper-3.4.10/zkdata/version-2
tickTime=2000
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=0

案例2

[victor@node1 zookeeper-3.4.10]# echo dump|nc 192.168.2.102 2181
SessionTracker dump:
Session Sets (0):
ephemeral nodes dump:
Sessions with Ephemerals (0):

你可能感兴趣的:(黑猴子的家:Zookeeper 客户端命令行操作)