ZK常用命令

常用命令

启动ZK服务bin/zkServer.sh start
查看ZK服务状态bin/zkServer.sh status
停止ZK服务bin/zkServer.sh stop
重启ZK服务bin/zkServer.sh restart
连接服务器zkCli.sh -server 127.0.0.1:2181

客户端连接

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

img

在192.168.106.82服务器上连接到192.168.106.81服务器下的zk

1
[root@hadoop3bin]# zkCli.sh -server 192.168.106.81:2181
img

查看znode路径

查看根目录:

1
2
[zk: 192.168.106.81:2181(CONNECTED) 0] ls /
[zookeeper, mygirls]

查看其它节点中的内容

1
2
3
4
[zk: 192.168.106.81:2181(CONNECTED) 1] ls /mygirls
[liuyifei, angelababy]
[zk: 192.168.106.81:2181(CONNECTED) 2] ls /zookeeper
[quota]

创建节点

创建testnode节点,关联字符串”zz”

1
2
[zk: 192.168.106.81:2181(CONNECTED) 3] create /zookeeper/testnode "zzzzzzz"
Created /zookeeper/testnode

获取znode数据,查看节点内容,设置节点内容,删除节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[zk: 192.168.106.81:2181(CONNECTED) 4] get /mygirls

lsadasdasd

cZxid = 0x800000002

ctime = Wed Jan 04 23:26:09 CST 2017

mZxid = 0x80000000c

mtime = Wed Jan 04 23:38:06 CST 2017

pZxid = 0x800000004

cversion = 2

dataVersion = 6

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 10

numChildren = 2

[zk: 192.168.106.81:2181(CONNECTED) 5]

设置节点内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[zk: 192.168.106.81:2181(CONNECTED) 6] ls /mygirls

[liuyifei, angelababy]

[zk: 192.168.106.81:2181(CONNECTED) 7] set /mygirls/liuyifei aaaaaaa

cZxid = 0x800000003

ctime = Wed Jan 04 23:27:56 CST 2017

mZxid = 0x800000010

mtime = Thu Jan 05 00:50:37 CST 2017

pZxid = 0x800000003

cversion = 0

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 7

numChildren = 0

[zk: 192.168.106.81:2181(CONNECTED) 8] get /mygirls/liuyifei

aaaaaaa

cZxid = 0x800000003

ctime = Wed Jan 04 23:27:56 CST 2017

mZxid = 0x800000010

mtime = Thu Jan 05 00:50:37 CST 2017

pZxid = 0x800000003

cversion = 0

dataVersion = 1

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 7

numChildren = 0

[zk: 192.168.106.81:2181(CONNECTED) 9]

删除节点

1
2
3
4
5
6
7
8
9
10
11
[zk: 192.168.106.81:2181(CONNECTED) 15] ls /zookeeper

[testnode, quota]

[zk: 192.168.106.81:2181(CONNECTED) 16] delete /zookeeper/testnode

[zk: 192.168.106.81:2181(CONNECTED) 17] ls /zookeeper

[quota]

[zk: 192.168.106.81:2181(CONNECTED) 18]

退出客户端的命令:quit

1
2
3
4
5
6
7
8
9
[zk: 192.168.106.81:2181(CONNECTED) 18] quit

Quitting...

2017-01-05 00:58:21,076 [myid:] - INFO [main:ZooKeeper@684] - Session: 0x25969e0732e0001 closed

2017-01-05 00:58:21,076 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@509] - EventThread shut down

[root@hadoop3 bin]#

监听znode事件

1
ls /mygirls watch   ## 就对一个节点的子节点变化事件注册了监听
img

当在82服务器上写ls /mygirls watch的时候,在81上创建一个znode,发现80上的上图出现提醒。

1
get /mygirls watch   ## 就对一个节点的数据内容变化事件注册了监听

img
img

开始的时候在80上执行get /mygirls watch,接着在81上执行set /mygirls bbbbbb,执行完成之后,发现在80上的右上角有消息提醒。

注意:监听器只生效一次

监听器的工作机制,其实是在客户端会专门创建一个监听线程,在本机的一个端口上等待zk集群发送过来事件

img

telnet连接zookeeper

1
telnet 192.168.106.82 2181

成功之后,输入conf,会出现一下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
clientPort=2181

dataDir=/home/tuzq/software/zookeeper/zkdata/version-2

dataLogDir=/home/tuzq/software/zookeeper/log/version-2

tickTime=2000

maxClientCnxns=60

minSessionTimeout=4000

maxSessionTimeout=40000

serverId=3

initLimit=10

syncLimit=5

electionAlg=3

electionPort=3888

quorumPort=2888

peerType=0

ZK常用命令
https://www.blog.spphoto.top/2021/11/09/ZK常用命令/
Author
Starry
Posted on
November 9, 2021
Licensed under