Zookeeper的容错为什么是2/n + 1求大家说明下 如题求大神。
3条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
Coding1709469290 2018-04-15 15:27最佳回答 专家已采纳zookeeper集群节点数一般设置为奇数个,3,5,7,9....。集群中有一个leader和若干个follower。当 leader崩溃或者leader失去大多数(超过半数节点)的follower,这时候zookeeper进入恢复模式,恢复模式需要重新选举出一个新的leader,让所有的节点都恢复到一个正确的状态。为了触发恢复模式,就需要对节点数进行合理配置。就拿三个节点与四个节点做比较。当集群中宕机两个节点后,集群已经不能保证以后继续正常工作,这个时候就要启动恢复模式。明显可以看出,配置三个节点与四个节点的容错数量是一致的,为了节省成本,配置三个节点肯定比配置四个节点要节约很多。五节点与六节点也是如此,五节点集群中挂掉两个节点时,剩下三个节点依然能保证集群正常工作,如果再挂掉一个节点,虽然还剩下两个节点(可能你会有这样的疑问:在三节点中,两个节点正常工作并不会触发恢复模式,为何这里两个节点就会触发),但是正常工作的节点数只占节点总数的较少一部分,已经出现隐患。而在六节点集群中,宕机三个,正常工作的也是三个,刚好各占一半,这就不好决定该不该触发恢复模式。偶数个就会出现这样的尴尬情况,设置成奇数个就没有这样的情况出现。在商业中,zookeeper集群数量相对个人配置的数量肯定要多很多,任何一个节点都有可能在任何时候宕机,在兼顾工作效率与节约成本的情况下,集群节点设置为奇数个,而设置n/2 +1(超过半数) 个容错节点是最合理的。设置奇数个在生活中也是很常见有用的规则,比如某些机构中拥有投票权的人数是奇数个或者投票总数为奇数个,超过半数的机制可以有效的避免出现平局的情况。计算机领域中也有这样的机制,毕竟这些东西都是人设计出来的。
采纳该答案 已采纳该答案 专家已采纳评论解决 无用打赏举报微信扫一扫
分享评论登录 后可回复...
报告相同问题?
相关推荐 更多相似问题
- 2018-04-15 05:58回答 3 已采纳 zookeeper集群节点数一般设置为奇数个,3,5,7,9....。集群中有一个leader和若干个follower。当 leader崩溃或者leader失去大多数(超过半数节点)的follower
- 2021-08-11 09:45回答 2 已采纳 zookeeper是基于hadoop运行的,先把hadoop的节点都起来再玩zookeeper,我的博客有详细讲解选举机制以及如何启动zookeeper
- 2021-06-02 15:54回答 3 已采纳
- 2021-01-02 20:20钟宝晋的博客 我们之前学习zookeeper集群节点搭建时一直都是搭建集群数为2n+1,不管是自己搭建还是公司搭建都是2n+,至于为什么是2n+1一直都是一个模糊的概念,今天我重点学习了一下zookeeper翻阅了大量的资料大概理解了一下,现...
- 2019-05-27 21:47沉在水底的鱼的博客 比如有三台服务器,编号分别是1,2,3。 编号越大在选择算法中的权重越大。 数据ID 服务器中存放的最大数据ID. 值越大说明数据越新,在选举算法中数据越新权重越大。 逻辑时钟 或者叫投票的次数,同一轮投票...
- 2020-02-28 09:57秋夜无霜的博客 关于节点个数的说明2.ZooKeeper集群的容错数3 ZooKeeper集群可用的标准4. 为什么不能是偶数个节点4.1 防止由脑裂造成的集群不可用4.2 奇数个节点更省资源4.3 偶数个节点遇到的其他问题参考资料 1.关于节点个数的说明...
- 2021-08-04 13:56回答 1 已采纳 错误信息主要看cause by 就这些也看不出什么
- 2021-09-24 21:33回答 1 已采纳 作用其实就是你理解的那样,zk就是协调的组件, 但是不用它的话,也需要实现类似的功能。 也有其他mq不用ZK也实现了同样的功能
- 2018-01-13 16:58回答 3 已采纳 1,打开zkServer.sh 找到status) STAT=`echo stat | nc localhost $(grep clientPort "$ZOOCFG" | sed -e 's/
- 2021-06-09 14:02小坏蛋至尊宝的博客 ZooKeeper是⼀个分布式的,开放源码的分布式应⽤程序协调服务,是Google的Chubby⼀个开源的实现,它是集群的管理者, 监视着集群中各个节点的状态根据节点提交的反馈进⾏下⼀步合理操作。最终,将简单易⽤的接⼝和...
- 2021-10-12 22:52可爱发的博客 1、什么是分布式系统 在《分布式系统原理与范型》一书中有如下定义:“分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”; 分布式系统是由一组通过网络进行通信、为了完成共同的任务而...
- 2021-02-07 15:56CodeWhite7的博客 写在前边:好久没有写博客了,分析一下简单的Springboot+Zookeeper整合dubbo的小案例,代码已经放上仓库: Window下安装zookeeper https://www.runoob.com/w3cnote/zookeeper-setup.html Apache Dubbo |ˈdʌbə...
- 2019-08-27 16:02回答 3 已采纳 两个IP启动了服务,所以提供者是两个地址
- 2021-11-05 15:53回答 3 已采纳 你的截图里不是告诉你,地址已经被使用了吗?全部停掉从新开始,另外你的配置文件真的没问题吗?你有没有给你的三台主机配置好ssh免密登录,以及对应的域名ip映射(ip地址与主机名的映射)
- 2017-06-21 12:49回答 4 已采纳 如果你cfg文件配好的话,直接bin下:zkServer.sh start
- 2020-11-28 12:22踏行JAVA的博客 Dubbo+ZooKeePer基本实现 分布式理论 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统;利用更多的机器,处理更多的数据,分布式系统是建立在网络之上的软件系统。 RPC RPC【Remote...
- 2020-04-22 20:00VanasWang的博客 文章目录ZookeeperZookeeper入门概述特点数据结构应用场景Zookeeper安装本地模式安装部署配置参数解读Zookeeper的四字命令[了解]Zookeeper内部原理节点类型Stat结构体监听器原理(面试重点)Paxos算法(扩展)选举...
- 2022-03-13 12:10624回锅肉的博客 1.什么是Solr? 2.什么是倒排索引? 3.Solr和ElasticSerach有什么相同点和不同点? 1.Solr是基于Lucene的全文搜索平台。它使用倒排索引机制可以实现快速的全文搜索与查找。 2.倒排索引里有field和document的概念。想...
- 2018-12-21 19:45回答 2 已采纳 因为缓存了服务列表吧,注册中心关闭之后根据缓存也能找到对应的服务
- 2020-08-19 22:28chun_soft的博客 1、Zookeeper 的产生来源 Apache ZooKeeper 是一个高可靠的分布式协调中间件。它是 Google Chubby 的一个开源 实现,那么它主要是解决什么问题的呢? 那就得先了解 Google Chubby,Google Chubby 是谷歌的一个用来...
- 没有解决我的问题, 去提问