zookeeper分布式锁以及集群

来源:互联网 发布:瑞特优化 编辑:程序博客网 时间:2024/06/08 14:20

推荐zookeeper信息查看工具:zooInspector


一、zookeeper分布式锁

zookeeper分布式锁往往可以作为主从的管理方案,mycat1.6即将使用zookeeper作为主从管理

原理大概为

zookeeper的结构为树结构,每个注册的节点都在这颗树上

一个主节点和一个备用主节点向zookeeper进行注册,假设注册后节点分别为master-000001和master-000002

zookeeper进行选举,选举编号小的将在选举中获胜,获得分布式锁,成为主节点,这里为master-000001

如果master-000001挂了,通过watch发送事件,将master-000001删除。重新进行选举

这个时候选举master-000002作为主节点

如果master-000001恢复,通过watch发送时间,重新注册master-000001位master-000003,重新进行选举

这个时候还是选举master-000002作为主节点

这样就避免了master-000001假死造成的双主节点问题


二、zookeeper集群

选举算法

1、一半以上的机器同意才能成为leader

2、一半机器挂掉,则整体挂掉

所以zookepper集群往往是奇数


三、搭建

1、zookeeper必须修改zoo_sample.cfg为zoo.cfg

2、创建data目录

3、修改zoo.cfg

      3.1 修改dataDir 比如:dataDir=/usr/local/zookeeper01/data/

      3.2 修改端口号 比如:clientPort=2181

      3.3添加节点信息 比如:server.1=192.168.160.128:2881:3881
                                                server.2=192.168.160.128:2882:3882
                                                server.3=192.168.160.128:2883:3883


4、data目录下创建myid文件,在myid中指定节点编号,和zoo.cfg中的server编号一致




原创粉丝点击