基本使用
节点操作
1、连接Zookeeper的客户端
[root@localhost ~]# cd /usr/local/zookeeper/bin
[root@localhost bin]# ./zkCli.sh
通过./zkCli.sh
命令连接到Zookeeper的客户端后,就可以使用命令来操作Zookeeper了。quit退出客户端。
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
2、创建节点:使用create命令,可以创建一个Zookeeper节点。
#语法
create [-s] [-e] path data acl
#其中-s表示顺序节点,-e表示临时节点。默认情况下,创建的是持久节点。
#path是节点路径,data是节点数据,acl是用来进行权限控制的。
#案例
create /sanguo luoguanzhong #创建一个持久节点目录为/sanguo 值为 luoguanzhong
create -s /shuihu shinaian #创建一个持久顺序节点目录为/shuihu 值为 shinaian
create -e /xiyou wuchengren #创建一个临时节点目录为/xiyou 值为 wuchengren
create -e -s /honglou caoxueqing #创建一个临时顺序节点目录为/honglou 值为 caoxueqing
3、查看节点内容:使用get命令,可以获取Zookeeper指定节点的内容和属性信息。
[zk: 127.0.0.1:2181(CONNECTED) 1] get /sanguo
luoguanzhong
cZxid = 0xd
ctime = Tue Mar 13 20:27:20 CST 2020 #创建时间
mZxid = 0xd
mtime = Tue Mar 13 20:27:20 CST 2020 #修改时间
pZxid = 0xd
cversion = 0
dataVersion = 0 #没有被修改过,所以版本为0,如果有修改过版本会自增,表示数据修改的次数
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 12 #长度
numChildren = 0 #子节点的个数
4、查看子节点:使用ls命令可以查看指定节点下的所有子节点。
#查看根目录下的所有子节点
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
5、更新节点内容:使用set命令,更新节点内容。
#语法
set path data #其中的data就是要更新的新内容
6、删除节点:语法:rmr /路径。
rmr /sanguo
节点监控
1、开启两个Zookeeper的客户端。
2、在一个客户端中以监控的方式查看节点。
3、在另一个客户端改变监控的节点的值,会发现第一个监控的客户端发生了变化。
get /shuihu watch #第一个客户端中
set /shuihu hehe #第二个客户端中
配置文件
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:
-
tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒。Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是
2*tickTime
) -
initLimit =10:LF初始通信时限。集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。
-
syncLimit =5:LF同步通信时限。集群中Leader与Follower之间的最大响应时间单位,假如响应超过
syncLimit * tickTime
,Leader认为Follwer死掉,从服务器列表中删除Follwer。 -
dataDir:数据文件目录+数据持久化路径。主要用于保存Zookeeper中的数据。
-
clientPort =2181:客户端连接端口。监听客户端连接的端口。
评论区