Zookeeper的客户端操作
常用操作命令: 1)一台机器进入Zookeeper客户端:bin/zkCli.sh 一台机器退出Zookeeper客户端:quit 2)查看:ls 根目录(必须加) 3) 启动:bin/zkServer.sh start 4) 停止:bin/zkServer.sh stop 5)查看状态: bin/zkServer.sh status 注:如果希望节点开启时Zookeeper也随着启动,就在配置文件/etc/profile里加上这句-- /opt/module/zookeeper-3.4.10/bin/zkServer.sh start 即可。 |
1.各机器启动zookeeper
每台机器都启动zookeeper:
1)先到此目录下:/opt/module/zookeeper-3.4.10/bin
2)之后依次在bigdata111和bigdata112、bigdata113上输入命令:
[root@bigdata111 bin]#./zkServer.sh start
3)查看节点工作状态:
[root@bigdata111 ./zkServer.sh status
ZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower
[root@bigdata112 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: leader
[root@bigdata113 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by defaultUsing config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower
2.停止zookeeper
[root@bigdata113 bin]#./zkServer.sh stop
3.客户端命令行操作
这里可以先进入bigdata111的客户端里:
[root@bigdata111 bin]# ./zkCli.sh
后续操作:
命令基本语法 | 功能描述 |
help | 显示所有操作命令 |
ls path [watch] | 使用 ls 命令来查看当前znode中所包含的内容【watch--可监听】 |
ls2 path [watch] | 查看当前节点数据并能看到更新次数等数据 |
create | 普通创建(永久节点) -s 含有序列 -e 临时(重启或者超时消失) |
get path [watch] | 获得节点的值-watch可修改此节点的值 |
set | 设置节点的具体值 |
stat | 查看节点状态 |
delete | 删除节点 |
rmr | 递归删除节点 |
1)启动客户端
[itstar@bigdata112 zookeeper-3.4.10]$ bin/zkCli.sh
2)显示所有操作命令
[zk: localhost:2181(CONNECTED) 1] help
3)查看当前znode中所包含的内容
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
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)创建普通节点
[zk: localhost:2181(CONNECTED) 2] create
(注意:创建的节点里必须有数据)
Created /app1
例如:
[zk: localhost:2181(CONNECTED) 4] create
Created /Renne
[zk: localhost:2181(CONNECTED) 5] ls /
[Renne, zookeeper]
[zk: localhost:2181(CONNECTED) 4] create
Created /app1/server101
6)获得节点的值
[zk: localhost:2181(CONNECTED) 6] get
hello app1
cZxid = 0x20000000a
ctime = Mon Jul 17 16:08:35 CST 2017
mZxid = 0x20000000a
mtime = Mon Jul 17 16:08:35 CST 2017
pZxid = 0x20000000b
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0(临时节点)
dataLength = 10
numChildren = 1
[zk: localhost:2181(CONNECTED) 8] get
192.168.1.101
cZxid = 0x20000000b
ctime = Mon Jul 17 16:11:04 CST 2017
mZxid = 0x20000000b
mtime = Mon Jul 17 16:11:04 CST 2017
pZxid = 0x20000000b
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 13
numChildren = 0
7)创建短暂节点
[zk: localhost:2181(CONNECTED) 9] create -e
(1)在当前客户端是能查看到的
[zk: localhost:2181(CONNECTED) 10] ls /
[app1, app-emphemeral, zookeeper]
(2)退出当前客户端然后再重启客户端
[zk: localhost:2181(CONNECTED) 12] quit
[itstar@bigdata113 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
(2)创建带序号的节点
[zk: localhost:2181(CONNECTED) 13] create -s /app2/aa 888
Created /app2/aa0000000000
[zk: localhost:2181(CONNECTED) 14] create -s
Created /app2/bb0000000001
[zk: localhost:2181(CONNECTED) 15] create -s
Created /app2/cc0000000002
如果原节点下有1个节点,则再排序时从1开始,以此类推。
[zk: localhost:2181(CONNECTED) 16] create -s
Created /app1/aa0000000001
接着举例:
[zk: localhost:2181(CONNECTED) 9] create -s
Created /Renn00000000003/renn00000000000
[zk:localhost:2181(CONNECTED)10]create -s
Created /Renn00000000003/renn00000000000330000000001
9)修改节点数据值
[zk: localhost:2181(CONNECTED) 2] set
10)节点的值变化监听--只监听一次
(1)在104主机上注册监听/app1节点数据变化
[zk: localhost:2181(CONNECTED) 26] get /app1 watch
(2)在103主机上修改/app1节点的数据
[zk: localhost:2181(CONNECTED) 5] set
(3)观察104主机收到数据变化的监听
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/app1
之后按回车就恢复回去了
11)节点的子节点变化监听(路径变化)
(1)在104主机上注册监听/app1节点的子节点变化
[zk: localhost:2181(CONNECTED) 1] ls /app1 watch
[aa0000000001, server101]
(2)在103主机/app1节点上创建子节点
[zk: localhost:2181(CONNECTED) 6] create
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
14)查看节点状态
[zk: localhost:2181(CONNECTED) 12] stat
cZxid = 0x20000000a
ctime = Mon Jul 17 16:08:35 CST 2017
mZxid = 0x200000018
mtime = Mon Jul 17 16:54:38 CST 2017
pZxid = 0x20000001c
cversion = 4
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 2