zookeeper
森林森
java学习
展开
-
zookeeper-Leader选举-说明
ZAB 哪些成员身份ZAB 支持 3 种成员身份(领导者、跟随者、观察者)领导者 Leader): 作为主(Primary)节点,在同一时间集群只会有一个领导者,所有的写请求都必须在领导者节点上执行。跟随者 (Follower):作为备份(Backup)节点, 集群可以有多个跟随者,它们会响应领导者的心跳,并参与领导者选举和提案提交的投票。跟随者可以直接处理并响应来自客户端的读请求,但对于写请求,跟随者需要将它转发给领导者处理。观察者 Observer):作为备份(Backup)节点,类似跟随者,原创 2020-08-05 08:54:16 · 235 阅读 · 1 评论 -
zookeeper源码-Leader选举
public interface Election { public Vote lookForLeader() throws InterruptedException; public void shutdown();}FastLeaderElection public Vote lookForLeader() throws InterruptedException { try { self.jmxLeaderElectionBean.原创 2020-08-04 20:15:28 · 144 阅读 · 0 评论 -
zookeeper源码-单机-预启动流程与初始化流程
QuorumPeerMain-main方法预启动流程public static void main(String[] args) {//创建当前类的对象 就是一个无参构造 QuorumPeerMain main = new QuorumPeerMain(); try { //调用当前类的初始化与run方法-这个方法才是重点 main.initializeAndRun(args); ...QuorumPeerMain原创 2020-08-04 19:36:41 · 173 阅读 · 0 评论 -
Zookeeper-源码导入idea-3.5.8
下载https://archive.apache.org/dist/zookeeper/stable/下载完成后解压导入等idea编译与下载依赖编译复制配置文件cd lib/zookeeper/conf/cp zoo_sample.cfg zoo.cfg配置启动类org.apache.zookeeper.server.ZooKeeperServerMain-Dlog4j.configuration=file:E:\sources\apache-zookeeper-3.5.8\c原创 2020-08-04 14:16:03 · 658 阅读 · 1 评论 -
Zookeeper-ZAB协议,角色,选举
Zookeeper-ZAB协议ZAB协议,并没有使用Paxos算法,而是使用一种称为Zookeeper Atomic Broadcat 原子 消息广播协议,它是一种专为为Zookeeper设计的一种支持崩溃恢复的原子广播协议。Zookeeper实现了一种主备模式的系统架构来保持集群中各副本之间的数据的一致性。表现就是使用一个单一的主进程秋接收处理客户端的所有事务请求,并采用ZAB的原子广播协议,将服务器的数据的状态变更以事务 Proposal的形式广播到所有的副本进程中,ZAB协议的主备模型保证了同一时原创 2020-08-04 10:59:57 · 426 阅读 · 0 评论 -
Zookeeper-分布式队列
Zookeeper-分布式队列分布式队列可以简单分为2个大类:一种常规的FIFO先入先出队列模型,还有一种等待队列元素聚集后统一安排处理执行的Barrier模型。FIFO先入先出FIFO -First Input First Output 先入先出,FIFO,先进入队列的请求操作先完成后,才会开始处理后面的请求Zookeeper实现FIFO队列,和共享锁实现非常类似,FIFO队列就类似于一个全写的共享锁模型,创建节点后,通过调用getChildren接口来获取/queue-fifo节点下的原创 2020-08-04 09:47:54 · 378 阅读 · 0 评论 -
Zookeeper-分布式锁
分布式锁分布式锁是控制分布式系统之间同步访问共享资源的一种方式。如果不同的系统或是同一个系统的不同主机之间共享一个或一组资源,那么访问这些资源的时候,往往需要通过一些互斥的手段来防止彼此之间的干扰,以保证一致性。在这种情况下,就需要分布式锁排他锁Exclusive Locks ,简称X锁,又称为写锁或者独占锁,是一种基本的锁类型。如果事务T1对数据对象O1加上了排他锁,那么在整个加锁期间,只允许事务T1对O1进行读取和更新操作,其他任务事务都不能再对这具数据对象O1进行任务类型的操作----直到T1释原创 2020-08-04 09:35:30 · 158 阅读 · 0 评论 -
ZooKeeper-简单操作
ZooKeeper命令⾏简单操作通过zkClient 进入Zookeeper客户端命令行./zkCli.sh 连接到本地的Zookeeper服务器./zkCli.sh -server ip:端口号./zkCli.sh -server 10.16.200.95:2181参数ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls原创 2020-08-03 19:40:24 · 225 阅读 · 0 评论 -
ZooKeeper数据模型-ACL
#### ACL 保障数据的安全权限模式,授权对象,权限,通常使用scheme????permission来标识一个有效的ACl信息权限模式Scheme有四种模式IPIP模式就是通过IP地址来进行权限控制,如ip:192.168.0.110。表示权限控制针对该IP地址,同时IP模式可以支持按照网段方式,进行配置,如 ip:192.168.0.1/24 表示针对192.168.0.*这个网段进行权限控制。DigestDigest 最最常用的权限控制模式,要更符合对权限控制的认识,使用us原创 2020-08-03 11:02:34 · 141 阅读 · 0 评论 -
ZooKeeper数据模型-Watcher
WatcherZookeeper使用Watcher机制实现分布式数据的发布、订阅功能。一个典型的发布、订阅模型系统定义了一种一对多订阅关系,能够让多个订阅者同时监听某一个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使订阅者能够做相应的处理。在Zookeeper中引入Watcher机制来实现这种分布式的通知功能,Zookeeper允许客户端向服务端注册一个Wather监听,当服务端一一些指定事件触发了这具Wather,就会向指定客户端发送一个事件通知来实现分布式的通知功能。Wather原创 2020-08-03 10:32:33 · 106 阅读 · 0 评论 -
ZooKeeper数据模型Znode
Znode在Zookeeper中,数据信息被保存在一个个数据节点上,这些节点被称为Znode.Znode是Zookeeper中的最小的数据单位,在Znode下面又可以再挂Znode,这样一层一层下去就形成了层次化,命名空间Znode树,称为Znode Treee,它采用类似文件系统的层级树状结构.Znode 类型持久节点,持久顺序节点,临时节点,临时顺序节点.持久性节点 (Persistent)指点被创建后就会一直存在服务器,直到删除操作主动清除持久顺序节点 (Persistent)-s 来原创 2020-08-03 10:25:07 · 424 阅读 · 0 评论 -
Zookeeper的基本概念
Zookeeper是一个开源的分布式协调服务,设计目标是将那些复杂的并且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集.并以一些简单的接口提供给用户使用.Zookeeper是一个典型的分布式数据一致性解决方案,分布式应用程序,可以基于它实现诸如数据订阅,发布,负载均衡,命名服务,集群管理,分布式锁和分布式队列等功能.集群角色Leader 读写服务Followers 读服务Observer 读服务Zookeeper集群中的所有机器通过Leader选举来选定一台被称为Leader原创 2020-07-31 20:58:34 · 205 阅读 · 0 评论 -
ZooKeeper如何解决分布式系统⾯临的问题
分布式系统⾯临的问题以一个小团队为例,面临的问题1.通过网络进行信息共享开发Leader在会上把任务分配下去,组员通过Leader的命令或者邮件 之类的系统知道自己要干什么.在分配有变化时,Leader会通知到具体的人,或者再次开会,通过人与人之间的直接沟通,完成信息传递2. 通过共享存储Leader将任务分配放到SVN或者git等上,组员每天去svn,git上拉取最新的任务分配表,然后干活,其中svn,git 就是共享存储,更好一点的做法是,当svn,git文件更新时,触发邮件通知,每个组员再原创 2020-07-31 20:36:33 · 169 阅读 · 0 评论 -
Windows环境下Zookeeper的安装(单机模式和伪集群模式)
下载Zookeeperhttps://archive.apache.org/dist/zookeeper/这里下载的是3.5.8解压复制config目录中的zoo_sample.cfg 重命名为zoo.cfg修改zoo.cfgtickTime=2000initLimit=10syncLimit=5### 增加下面这个,数据目录与日志目录 dataDir=D:/datacenter/zookeeperdataLogDir=D:/datacenter/zookeeper/log原创 2020-07-31 15:33:21 · 160 阅读 · 0 评论 -
zookeeper安装
下载https://archive.apache.org/dist/zookeeper/stable/或者使用命令wget https://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.5.5-bin.tar.gz解压tar zxvf apache-zookeeper-3.5.5-bin.tar.gz配置文...原创 2019-08-22 20:52:02 · 291 阅读 · 0 评论 -
ZooKeeper在windows上的安装与伪集群
下载地址http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/先下载配置好jdk已经JAVA_HOME和path之类的解压到各个目录D:\server\server1\zookeeper-3.4.14D:\server\server2\zookeeper-3.4.14D:\server\server3\zookeeper-...原创 2019-06-24 14:43:42 · 125 阅读 · 0 评论
分享