Zookeeper基础介绍

一 概述
1 zookeeper是yahool 开发后贡献给apache的一套分布式的管理和协调框架
2 提供了中心服务(注册中心):统一配置信息,统一命名,分布式锁,提供组服务!

二 安装
1 单机 :
2 伪分布 :
3 完全分布 :

细节

一特点

1 、Zookeeper 是树状结构,根节点是/ - Znode树
在Zookeeper中,每一个节点称之为Znode节点
每一个Znode节点必须携带数据,实际开发中,这个数据往往是对这个节点的描述或者是配置信息
Zookeeper中不存在相对路径,所有的路径必须从根节点算起
不能存在同名路径/节点
理论上来说,Zookeeeper可以作为缓存服务器来使用,但是不同于Redis,Zookeeper使用树结构来存数据,在数据量相同的前提下,Zookeeper会耗费比Redis更多的内存,导致Zookeeper的分布式协调能力降低,所以实际过程中,不会使用Zookeeper做缓存服务器
Zookeeper会将节点携带的数据存储在内存和磁盘中:
维系在内存中的目的是为了读写快
维系在磁盘中的目的是为了数据的可靠性
Zookeeper的数据在磁盘中的存储路径由dataDir来决定,如果不配置,那么默认路径是/tmp
在Zookeeper中,将每一个写操作(connect/create/delete/rmr/set等)看作是一个事务,然后会对每一个事务分配全局递增的编号,这个编号称之为事务id,简写为Zxid
临时节点只在本次会话中生效,一旦关闭连接临时节点就会失效被删除
持久节点都可以挂载子节点;临时节点都不能挂载子节点

二 命令
二、命令
命令 解释
ls / 查看根节点下的子节点
create /video ‘manage video servers’ 创建video节点
delete /log 删除log节点,要求节点下没有子节点
rmr /video 递归删除
set /log ‘log servers’ 修改节点数据
get /log 查看节点数据
create -e /txt ‘’ 创建临时节点
create -s /log/l ‘’ 创建顺序节点
三、节点信息
属性 解释
cZxid 节点的创建事务id
ctime 节点的创建时间
mZxid 节点数据的修改事务id
mtime 节点数据的修改时间
pZxid 子节点个数变化的事务id
cversion 子节点个数的变化次数
dataVersion 数据的变化次数
aclVersion 节点权限的变化次数
ephemeralOwner 如果是持久节点,此项属性值为0
如果是临时节点,此项属性值为sessionid
dataLength 数据的字节个数
numChildren 子节点个数
 
四、节点类型
持久节点 临时节点
顺序节点 Persistant_Sequential Ephemeral_Sequential
非顺序节点 Persistant Ephemeral

zookeeper选举

一 概述
集群启动后。zookeeper进入集群 会就行选举投票。每个节点都会投自己一票,将自己的选举信息发送到其他节点。节点之间会两两比较。经过多轮比较觉出优胜者
二 比较过程:
1 节点之间首先比较事务id大小,谁的事务id大小谁就生出。
2如果最大事务id一致,就比较myid,
3 如果一个节点能胜过一半以上的节点 那么 这个节点选为leader

3 ,如果一个zookeeper以及是leader了 那么新添加的节点为follower
4 zookeeper不能存在单点故障,当leader宕机或者丢失,整个zookeeper集群自动重新选举出新的leader
5集群中出现多个leader 这种现象就为脑裂
6 脑裂条件
①网络环境不稳定 波动。(无法避免)
②隔离出去的节点进行了选举
7防止脑裂机制:
在zooleeper集群中,只要存活节点个数不足一半,那么这个集群就不选举也不对外提供服务了。
8在Zookeeper集群中,会对每一次选举出来的leader进行编号,这个编号称之为epochid,编号是全局递增的。Zookeeper一旦发现两个leader,那么将epochid较小的那个leader切换为follower
Zookeeper集群的节点个数一般是奇数个,奇数容易满足过半,偶数容易出现对半
集群一旦处在选举状态中,集群是不对外提供服务的
Zookeeper集群中的节点状态:
voting:选举状态
follower:追随者/跟随者
leader:领导者
observer:观察者

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值