
zookeeper
varyall
这个作者很懒,什么都没留下…
展开
-
zookeeper超时--minSessionTimeout与maxSessionTimeout
很多同学可能有这样的疑问,我明明把连接zk客户端的超时时间sessionTimeout设置为180秒了,可是为什么仅仅过了40几秒就超时了? 其实只这么设置,根本没有任何作用,因为客户端将sessionTimeout的值传给zk时,zk还会根据minSessionTimeout与maxSessionTimeout两个参数重新调整最后的超时值Java代码转载 2015-11-05 11:08:49 · 1438 阅读 · 0 评论 -
Zookeeper的Quorum机制-谈谈怎样解决脑裂(split-brain)
在使用zookeeper的过程中,我们经常会看到这样一些说法:1.zookeeper cluster的节点数目必须是奇数。2.zookeeper 集群中必须超过半数节点(Majority)可用,整个集群才能对外可用。这个说法在大多数情况下是正确的。实际上ZooKeeper提供了几种方式来认定整个集群是否可用,Majority只是其中的一种。(http://zookeeper.a...转载 2019-03-22 19:52:04 · 899 阅读 · 0 评论 -
Zookeeper集群节点数量为什么要是奇数个?
无论是公司的生产环境,还是自己搭建的测试环境,Zookeeper集群的节点个数都是奇数个。至于为什么要是奇数个,以前只是模糊的知道是为了满足选举需要,并不知道详细的原因。最近重点学习zookeeper,了解到其中的原理,现将其整理记录下来。首先需要明确zookeeper选举的规则:leader选举,要求 可用节点数量 > 总节点数量/2 。注意 是 > , 不是 ≥。注:为...转载 2019-03-22 19:15:56 · 900 阅读 · 0 评论 -
Zookeeper中Session Timeout的那些事
前言:RDS系统致力于MySQL数据的高可用,高可靠,高性能以及在线扩展功能,实现这些特性的主要逻辑功能都运行在管理服务器上,一旦管理服务器宕机,数据库的在线扩展功能/备份功能/故障恢复功能等都无从谈起。然而,之前RDS系统管理服务器却是单点服务,为了保证整个系统的稳定性,管理服务器需要实现高可用,结合当前主流的高可用方案,决定使用Zookeeper来实现服务的高可用。基本设计...转载 2019-03-25 20:46:11 · 5014 阅读 · 0 评论 -
zookeeper分布式锁实现原理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/koflance/article/details/786162061、互斥锁mutex lock顾名思义就是排它锁,同一时间只允许一个客户端执行。实现步骤:首先,创建一个lock node,例如“locknode” 其次,客户端lock执行以下方式: 创建(create)一个有序...转载 2018-09-08 11:51:17 · 2306 阅读 · 0 评论 -
zookeeper logs and snapshot
来自:http://xstarcd.github.io/wiki/Cloud/zookeeper_log_snapshot.html事务日志可视化转换 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...转载 2018-08-20 13:31:49 · 545 阅读 · 0 评论 -
ZooKeeper的一个性能测试
2011-07-15 18:07:003台ZooKeeper服务器。8核64位jdk1.6;log和snapshot放在不同磁盘场景一同一个目录下,先createEPHEMERALnode,再delete;create和delete各计一次更新。没有订阅。一个进程开多个连接,每个连接绑定一个线程,在多个path下做上述操作;不同的连接操作的path不同测试结果数据汇总如下:d...转载 2018-08-13 22:14:13 · 7057 阅读 · 1 评论 -
Zookeeper的Quorum机制-谈谈怎样解决脑裂(split-brain)
在使用zookeeper的过程中,我们经常会看到这样一些说法:1.zookeeper cluster的节点数目必须是奇数。2.zookeeper 集群中必须超过半数节点(Majority)可用,整个集群才能对外可用。这个说法在大多数情况下是正确的。实际上ZooKeeper提供了几种方式来认定整个集群是否可用,Majority只是其中的一种。(http://zookeeper.apache.org/...转载 2018-05-01 00:09:42 · 10962 阅读 · 1 评论 -
聊聊ZooKeeper(一)分析ZooKeeper的Quorums机制--防止Split-Brain问题
使用过ZooKeeper的同学应该看到过一种说法,就是ZooKeeper集群中必须超过半数节点(Majority)可用,整个集群才能对外可用。这个说法在大多数情况下是正确的。这篇文章说说背后的原因。实际上ZooKeeper提供了几种方式来认定整个集群是否可用,Majority只是其中的一种。 http://zookeeper.apache.org/doc/r3.3.5/zookeeperInter...转载 2018-05-01 00:09:49 · 662 阅读 · 2 评论 -
zookeeper脑裂解决方案总结
zookeeper脑裂解决方案:避免这种情况其实也很简单,在slaver切换的时候不在检查到老的master出现问题后马上切换,而是在休眠一段足够的时间,确保老的master已经获知变更并且做了相关的shutdown清理工作了然后再注册成为master就能避免这类问题了,这个休眠时间一般定义为与zookeeper定义的超时时间就够了,但是这段时间内系统可能是不可用的,但是相对于数据不一致的后果我想...转载 2018-05-01 00:10:51 · 8747 阅读 · 1 评论 -
高可用方案之脑裂问题探讨
关于脑裂我们先来看看红帽的文档是如何解释的What does “split-brain” mean?“Split brain” is a condition whereby two or more computers or groups of computers lose contact with one another but still act as if the cluster were i...转载 2018-05-01 00:10:56 · 1024 阅读 · 0 评论 -
Zookeeper和分布式环境中的假死脑裂问题(转)
Zookeeper和分布式环境中的假死脑裂问题 最近和同事聊天无意间发现他们的系统也存在脑裂的问题。想想当初在我们的系统中为了解决脑裂花了非常大的功夫,现在和大家一起讨论下脑裂,假死等等这些问题和解决的方法。在一个大集群中往往会有一个master存在,在长期运行过程中不可避免的会出现宕机等问题导致master不可用,在出现这样的情况以后往往会对系统产生很大的影响,所以一般的分布式集群中的mast...转载 2018-05-01 00:10:42 · 1476 阅读 · 0 评论 -
Zookeeper已经分布式环境中的假死脑裂
Zookeeper简介在上班之前都不知道有这样一个东西,在开始说假死脑裂之前先说说Zookeeper吧。Zookeeper zookeeper是一个分布式应用程序的协调服务。它是一个为分布式应用提供一致性服务的软件,提供的性能包括:配置维护、名字服务、分布式同步、组服务等。 zookeeper是以Fast Paxos算法为基础,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有...转载 2018-04-21 23:48:46 · 830 阅读 · 0 评论 -
基于ZooKeeper的分布式锁和队列
在分布式系统中,往往需要一些分布式同步原语来做一些协同工作,上一篇文章介绍了Zookeeper的基本原理,本文介绍下基于Zookeeper的Lock和Queue的实现,主要代码都来自Zookeeper的官方recipe。锁(Lock)完全分布式锁是全局同步的,这意味着在任何时刻没有两个客户端会同时认为它们都拥有相同的锁,使用 Zookeeper 可以实现分布式锁,需要首先定义一个锁节点(lock ...转载 2018-03-15 11:43:01 · 387 阅读 · 0 评论 -
ZooKeeper 技术内幕:数据的存储(持久化机制)
Keynote/PPT 下载:ZK 技术内幕:数据与存储.pdf (pdf 版)1. 数据分类整体分为 3 类:内存数据磁盘数据快照事务日志下面是 ZooKeeper 启动过程中,3 类数据之间的关系:1.1. 内存数据关键点:ZK 的数据模型:树树中单个节点包含的内容:节点数据节点 ACL 信息节点的路径具体实现:DataTree 和 DataNode,见下图抛出 2 个问题:DataTree ...转载 2018-03-15 10:35:41 · 13634 阅读 · 1 评论 -
Zookeeper数据内存模型和磁盘存储
一、内存结构 类似Unix的文件系统,Zookeeper在内存中维护着一个树形层级结构,只不过没有目录,每个节点被成为znode.znode可以存放数据,并有自己的访问权限列表和关联的统计信息(stat). 然而Zookeeper是用来设计作为协同服务的,而不是用于大容量数据存储。虽然每个znode上的数据上限是1M.即便如此,我们还是不推荐开发人员按照这个上限来使用...转载 2018-03-15 10:34:36 · 3088 阅读 · 0 评论 -
zookeeper 持久化机制
Zookeeper数据是以文件形式存储在硬盘上的,以snapshot为主,txnlog为辅。因为当对内存数据进行变更的时候,会保证将事务操作记入log日志,而snapshot只是内存某一个时刻影像,为了性能takeSnapshot生成snapshot并不是实时的,而是由后台线程根据一定规则处理的 zookeeper启动后,会将所有数据加载到内存中,但是也会在硬盘上留...转载 2018-03-15 10:32:57 · 2065 阅读 · 0 评论 -
Zookeeper节点Znode
ZooKeeper目录树中每一个节点对应一个Znode。每个Znode维护着一个属性结构,它包含着版本号(dataVersion),时间戳(ctime,mtime)等状态信息。ZooKeeper正是使用节点的这些特性来实现它的某些特定功能。每当Znode的数据改变时,他相应的版本号将会增加。每当客户端检索数据时,它将同时检索数据的版本号。并且如果一个客户端执行了某个节点的更新或删除操作,他也必须提转载 2015-11-15 23:53:47 · 2877 阅读 · 0 评论 -
Zookeeper已经分布式环境中的假死脑裂
Zookeeper简介在上班之前都不知道有这样一个东西,在开始说假死脑裂之前先说说Zookeeper吧。Zookeeperzookeeper是一个分布式应用程序的协调服务。它是一个为分布式应用提供一致性服务的软件,提供的性能包括:配置维护、名字服务、分布式同步、组服务等。zookeeper是以Fast Paxos算法为基础,paxos算法存在活锁的问题,即当有多个proposer交错...转载 2019-03-22 20:22:36 · 337 阅读 · 0 评论