Zookeeper的学习笔记

1.查看日志方式启动zookper
./zkServer.sh start-foreground

Zookeeper的系统模型Znode
类型:
持久性节点
持久性顺序节点
临时性节点;生命周期与会话绑定在一起,临时节点不能创建节点
临时性顺序节点

事务ID ZID
了解事务的特性:原子性一致性隔离性持久性
在Zookeeper中会分配一个事务idZID

Watcher
给特定的节点发送消息监听到后则会做出一定的动作
ACL—保障数据安全(即权限)
权限模式
1.Ip
2.Digest BASE64((SH-1))
3.World
4.Super
授权对象
不同的权限模式授权对象是一样的
权限即对节点的操作
create
delete
read
write
admin

zookeeper的命令对节点的操作

./zkcli.sh -server 连接本地的zookeeper服务器
./zkcli.sh -server ip:port 连接的服务器

对节点的操作 create get ls delete set

建立会话

使用Api的方式对zk进行操作

使用ZKClient的方式
使用Curator的方式
zk的应用场景
1.数据发布/订阅
推拉相结合的方式
公共的配置文件的存储
通常情况下,应用在启动时都会到zk进行一次配置文件的获取,同时再指定的节点上获取watcher监听,一旦发生变化所有订阅的客户端可以获取数据变更的通知
2.命名服务
生成全局的唯一id使用顺序节点
每个客户端根据自己的任务类型去创建一个顺序节点

3.集群管理
使用zk的watcher以及临时节点的两大特性
分布式日志收集系统的应用
日志收集器收集日志源
zk的场景步骤
1.收集器注册创建节点
2.任务分发:
日志源分组写入每个节点的子节点
3.状态汇报
在创建节点时创建status,收集器在节点些人日志收集进度可以理解为心跳检测
4.动态分配
有收集器挂掉或者新加入,日志源需要分配
1.全局动态分配
2.局部动态分配:
收集器在汇报时会将自己的负载汇报上去

4.MASTER选举
海量数据处理与共享模型
怎么使用master
1.一般情况下根据关系型数据库的主键特性都向数据库中插入插入成功的为master
2.使用zk 所有客户端 去创建节点 zk的节点有强一致性所以也只有一个客户端可以创建成功,如果没有创建成功的会在一个临时节点上创建子节点master如果挂掉则可以重新进行选举
5.排他锁
Zk实现排他锁类似于master机制
1.定义一个锁
2.获取锁
3.释放锁

6.分布式屏障
子节点是否达到满足的要求

zk的zAB协议

ZAB支持崩溃恢复的原子广播协议
两种模式
崩溃恢复模式、消息广播模式
运行时的状态
LOOKING
FOLLOWING
LEADING

猜你喜欢

转载自blog.csdn.net/weixin_41118077/article/details/113121928