Zookeeper[3]-Zookeeper客户端使用

 前边步骤可参考:

Zookeeper[2]- Zookeeper集群环境搭建_豆虫儿的博客-CSDN博客

1. 配置Zookeeper的环境变量

为了简化我们每次操作Zookeeper而不用进入到Zookeeper的安装目录,我们可以将Zookeeper的安装信息配置到系统的环境变量中

vim /etc/profile

添加的内容

export ZOOKEPPER_HOME=/opt/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

执行source命令

source /etc/profile

我们就可以在节点的任意位置操作Zookeeper了

通过scp命令将profile文件发送到其他几个节点上

scp /etc/profile bobo02:/etc/

2.客户端连接

通过bin目录下的zkCli.sh 命令连接即可

zkCli.sh

zkCli.sh默认连接的是当前节点的Zookeeper节点,如果我们要连接其他节点执行如下命令即可

zkCli.sh -timeout 5000 -server bobo02:2181

 

3.数据操作

3.1 Zookeeper的数据结构

  1. 层次化的目录结构,命名符合常规文件系统规范

  2. 每个节点在Zookeeper中叫做znode,并且有一个唯一的路径标识

  3. 节点znode可以包含数据和子节点(但是EPHEMERAL类型的节点不能有子节点)

  4. 客户端应用可以在节点上设置监听器

 

3.2 节点类型

1).znode有两种类型:

短暂性(ephemeral)(断开连接自己删除) 持久性(persistent)(断开连接不删除)

2).znode有四种形式的目录节点(默认是persistent)如下

序号节点类型描述
1PERSISTENT持久节点
2PERSISTENT_SEQUENTIAL持久有序节点
3EPHEMERAL短暂节点
4EPHEMERAL_SEQUENTIAL短暂有序节点

创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,有父节点维护 在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序

3.3 常用命令

Zookeeper作为Dubbo的注册中心用来保存我们各个服务的节点信息,显示Zookeeper是可以实现输出的存储操作的,我们来看下Zookeeper中存储操作的基本命令

 

ls

ls用来查看某个节点下的子节点信息

 

增强的命令,查看节点下的子节点及当前节点的属性信息 ls2或者 ls -s 命令

 

create

创建节点信息

 

get

get命令用来查看节点的数据

 

如果要查看节点的属性信息那么我们可以通过get -s 来实现

 

delete

delete只能删除没有子节点的节点要删除非空节点可以通过 rmr 或者 deleteall 命令实现

 

set

set命令可以用来修改节点的内容。

 

3.4 事件监听

3.4.1 数据改变的监听

监听某个节点的数据内容变化,通过get命令 带 -w 参数即可,在3.4版本的Zookeeper中是通过get path watch 来说实现监控的

 

然后我们在其他节点上修改app1节点的数据,会触监听事件

 

 

注意监听一次节点只会触发一次,如果要实现多次监听,那么可以在触发事件的处理函数中再次追加对节点的监听操作

3.4.2 子节点的改变

监听节点下面的子节点的改变。

[zk: localhost:2181(CONNECTED) 14] ls -w /app1
[]

触发

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值