zookeeper的架构

文件系统

1,类似于linux,根节点是、
2,zookeeper的文件系统寻址只能通过绝对路径
3,不存在文件也不存在目录 znode
4,znode的分类:

持久的znode

创建持无编号节点
[zk: hadoop102:2181(CONNECTED) 17] create /bb01 123
创建持久有编号的节点
[zk: localhost:2181(CONNECTED) 1] create -s /rr test01
Created /rr0000000005

临时的znode

当前客户端退出的时候,会删除临时节点

创建临时节点
[zk: hadoop102:2181(CONNECTED) 19] create -e /bb02 1234567
创建临时有编号的节点
[zk: localhost:2181(CONNECTED) 2] create -e -s /ss 12345
Created /ss0000000006

节点的编号是从父目录的时候开始
有编号个无编号的区别
a,有编号节点可以反复创建
b,无编号节点只能创建一次

5,临时节点不允许有子节点
6,有几个节点,就保留几份,但是数据完全相同

监听机制

对数据进行监控,监听对象为znode
常见监听:
1,节点变化
2,数据变化

注册监听

ls path watch
get path watch
exist path watch

触发监听

create path watch
set path watch
delete path watch
rmr path watch

应用场景
1,命名服务

2,配置文件的管理
3,集群管理
4,锁

在这里插入图片描述

监听原理:

1,首先有一个main()线程
2,在main()线程中创建zookeeper客户端,这时会创建两个线程
一个负责网络连接通信(connet),一个负责监听(listener)
3,通过connect线程将注册的监听的监听发给zookeeper
4,zookeeper将注册的监听增加到监听列表中
5,zookeeper监听到数据或者路径有变化,就将这个消息发给listener
6,listener线程内部调用process()方法

数据的写流程

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值