Zookeeper介绍

本文介绍了Zookeeper作为大数据分布式协调服务的核心概念,包括其本质、集群角色、常用Shell命令、数据模型(特别是ZNode节点类型)、特性(如全局数据一致性、顺序性等),以及主备切换和选举机制的工作原理。

目录

概要

1. Zookeeper本质

2. Zookeeper集群各角色介绍:

3. 常见的Shell命令:

4.Zookeeper的数据模型介绍

4.1 Zookeeper集群ZNode节点类型划分(4种):

小结

Zookeeper的特征:

Zookeeper集群的主备切换:

Zookeeper的选举机制:  


概要

  它是大数据分布式协调服务框架, 用来帮助我们管理大数据集群的, 例如: 选举机制, 主备切换, 全局数据一致性等问题.

  他的吉祥物是1个拿着铁锹的人, 它(Zookeeper)本身也是1个小型的分布式文件系统, 可以用来存储数据, 每个节点叫ZNode节点,且每个节点存储的数据量不能超过 1MB.

1. Zookeeper本质

  Zookeeper本身是1个小型的文件系统, 可以存储数据, 但是我们用的不是它的存储功能, 而是用它(Zookeeper)来帮我们管理大数据集群.

2. Zookeeper集群各角色介绍:

Leader: 主节点(选举出来的)
  1. 管理整个Zookeeper集群, 负责: 全局数据一致性.
  2. 负责处理 数据事务请求(增删改)
  3. 负责转发 数据非事务请求(读) 给 Follower.
Follower: 追随者
  1. 实时从Leader中拉取数据, 保证: 全局数据一致性.
  2. 负责处理 数据非事务请求(读)
  3. 负责转发 数据事务请求(增删改)给Leader
  4. 有选举权.
ObServer: 观察者
  1. 除了没有选举权外, 其它和Follower一样.
  2. 自己玩一般不配.只有大规模数据量才会配置

3. 常见的Shell命令:

help                  查看Zookeeper支持的所有命令.
ls path [watch]         查看Zookeeper的节点信息(简单信息)
ls2 path [watch]          查看Zookeeper的节点信息(详细信息)
create [-s] [-e] path data   创建ZNode节点, 默认: 永久无序节点, 加-s是有序节点, 加-e是临时节点.

get path [watch]          查看ZNode节点的内容
set path data [version]     修改ZNode节点的内容
delete path [version]       删除ZNode节点(只能删除叶子节点)
rmr path               删除ZNode节点(删除节点, 包括子级)
history                查看历史命令
redo cmdno              根据命令编号, 重新执行对应的命令.

4.Zookeeper的数据模型介绍

  1. Zookeeper的ZNode节点兼具有 文件 和 目录的功能, 既能存储数据, 也可以有子节点(类似于 目录的功能)
  2. ZNode节点 更新原子性, 要么全成功, 要么全失败.
  3. ZNode节点 存储的数据不能超过 1MB.
  4. ZNode节点 路径必须是绝对的, 没有相对路径的写法.

4.1 Zookeeper集群ZNode节点类型划分(4种):

        1. 永久节点:  Persistent(永久)
            特点:
                1. 当会话结束后, 节点仍然在, 除非手动删除.
                2. 可以有子节点.
        2. 临时节点:  Ephemeral(临时)
            特点:
                1. 当会话结束, 临时节点会消失, 无需手动删除.
                2. 不能有子节点.
        3. 永久有序节点: Sequential(有序)
            特点: 会在节点名后边加上10位的数字, 其它和永久节点一致.
        4. 临时有序节点:
            特点: 会在节点名后边加上10位的数字, 其它和临时节点一致.

小结

Zookeeper的特征:


 1. 全局数据一致性.   即: 客户端无论访问那一台机器, 获取到的结果都是一样的.
 2. 可靠性.
 3. 数据更新原子性.
 4. 顺序性.
 5. 实时性.


Zookeeper集群的主备切换:


 1. ZNode节点的唯一性.
 2. watch监听机制.
 3. 临时节点的短暂性.

 

Zookeeper的选举机制:  

指的是, 怎么选出来Leader的, 剩下的都是Follower
原则: 过半原则(Paxos算法), 只要那个节点获取的票数 达到或者超过 集群节点总数的一半或以上, 谁就是Leader, 剩下的是Follower.
如果是新集群:
  只参考MyId值, 大家会把票优先投给MyId值大的机器.
如果是旧集群:  

即已经运行了一段时间(例如: 半年, 1年, 2年...)的Zookeeper集群, 宕机了.节点的事务id(投给大的), 一样则参考MyId值.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值