Zookeeper-Zookeeper的客户端操作

Posted on 2020-05-18 13:35  MissRong  阅读(2451)  评论(0编辑  收藏  举报

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 bin]# ./zkServer.sh status

ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Mode: follower

[root@bigdata112 bin]# ./zkServer.sh status

ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Mode: leader

[root@bigdata113 bin]# ./zkServer.sh status

ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Mode: 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 /app1 "hello app1"

(注意:创建的节点里必须有数据)

Created /app1

例如:

[zk: localhost:2181(CONNECTED) 4] create /Renne "liuxinrong"(引号里面是内容-字符串)

Created /Renne

[zk: localhost:2181(CONNECTED) 5] ls /

[Renne, zookeeper]

 

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

Created /app1/server101

6)获得节点的值

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

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 /app1/server101

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 /app-emphemeral 8888

(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 /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

接着举例:

[zk: localhost:2181(CONNECTED) 9] create -s /Renn00000000003/renn0 "liu0"

Created /Renn00000000003/renn00000000000

[zk:localhost:2181(CONNECTED)10]create -s /Renn00000000003/renn0000000000033 "liu1"

Created /Renn00000000003/renn00000000000330000000001

9)修改节点数据值

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

10)节点的值变化监听--只监听一次

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

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

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

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

(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 /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 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

Copyright © 2024 MissRong
Powered by .NET 8.0 on Kubernetes