002 Zookeeper基本概念

一、集群角色:默认只有Leader和Follower;

Leader:决策者,可以理解为主muster,选举产生,为客户端提供读写服务;

Follower:跟随者,可以理解为从,只提供读的服务;

Observer:观察者,只提供读服务,为提升集群读性能而配置,与Follower的区别在于Obserber不参与选举;

一个 ZooKeeper 集群同一时刻只会有一个 Leader,其他都是 Follower Observer

二、会话

        Session 是指客户端会话,一个客户端连接是指客户端和 ZooKeeper 服务器之间的TCP长连接;从第一次连接建立开始,客户端会话的生命周期也开始了,通过这个连接,客户端能够通过心跳检测和服务器保持有效的会话,也能够向 ZooKeeper 服务器发送请求并接受响应,同时还能通过该连接接收来自服务器的 Watch 事件通知。

•会话有一个TimeOut(超时时间),是一个设定的时间范围,在此范围内断开重连的会话依然有效。

三、数据节点

        ZooKeeper 中的数据节点是指数据模型中的数据单元,称为 ZNodeZooKeeper 将所有数据存储在内存中,数据模型是一棵树(ZNode Tree),由斜杠(/)进行分割的路径,就是一个ZNode,如 /hbase/master,其中 hbase master 都是 ZNode。每个 ZNode 上都会保存自己的数据内容,同时会保存一系列属性信息。

节点类型

1.持久节点:一旦被创建,数据节点会一直保存在Zookeeper中,除非手动删除;

2.临时节点:生命周期与客户端会话绑定,一旦会话失效那么客户端绑定的临时节点即失效。

四、版本

        ZooKeeper 的每个 ZNode 上都会存储数据,对应于每个 ZNodeZooKeeper 都会为其维护一个叫作 Stat 的数据结构,Stat 中记录了这个 ZNode 的三个数据版本,分别是 version(当前ZNode的版本)、cversion(当前ZNode子节点的版本)和 aversion(当前 ZNode ACL 版本);

五、状态信息

       每个 ZNode 除了存储数据内容之外,还存储了 ZNode 本身的一些状态信息。用 get 命令可以同时获得某个 ZNode 的内容和状态信息。

六、事务操作

        在ZooKeeper中,能改变ZooKeeper服务器状态的操作称为事务操作。一般包括数据节点创建与删除、数据内容更新和客户端会话创建与失效等操作。对应每一个事务请求,ZooKeeper 都会为其分配一个全局唯一的事务ID,用 ZXID 表示,通常是一个64位的数字。每一个 ZXID 对应一次更新操作,从这些 ZXID 中可以间接地识别出 ZooKeeper 处理这些事务操作请求的全局顺序;

七、Watcher

       Watcher(事件监听器),是 ZooKeeper 中一个很重要的特性。ZooKeeper允许用户在指定节点上注册一些 Watcher,并且在一些特定事件触发的时候,ZooKeeper 服务端会将事件通知到感兴趣的客户端上去。该机制是 ZooKeeper 实现分布式协调服务的重要特性。

八、Acl(访问控制列表)

ZooKeeper 采用 ACLAccess Control Lists)策略来进行权限控制。ZooKeeper 定义了如下5种权限:

1. CREATE: 创建子节点的权限

2. READ: 获取节点数据和子节点列表的权限

3. WRITE:更新节点数据的权限

4. DELETE: 删除子节点的权限

5. ADMIN: 设置节点ACL的权限

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值