侧边栏壁纸
博主头像
coydone博主等级

记录学习,分享生活的个人站点

  • 累计撰写 306 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

ZK的基本使用及配置

coydone
2022-05-17 / 0 评论 / 0 点赞 / 318 阅读 / 1,717 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

基本使用

节点操作

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:客户端连接端口。监听客户端连接的端口。

0

评论区