炼数成金

标题: 为什么“hbase.zookeeper.quorum”必须配奇数个数的DataNode [打印本页]

作者: kufish001    时间: 2013-6-24 01:51
标题: 为什么“hbase.zookeeper.quorum”必须配奇数个数的DataNode
       在安装完全分布式hbase的时候,碰到一个问题,网上说hbase-site.xml这个文件里属性“hbase.zookeeper.quorum”必须只能配上奇数个数的DataNode,也没说为什么,大家知道原因吗?

作者: flyingsword    时间: 2013-6-24 08:40
同求高手指点
作者: jason0108    时间: 2013-6-26 10:10
zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper呢。自己的理解~~
作者: Google    时间: 2013-6-26 11:53
这个问题,你可以类推到guo wu yuan 常委人数,为什么是奇数呢?因为偶数的话会出现平局的可能.
作者: dj123jary    时间: 2013-6-26 15:10
jason0108 发表于 2013-6-26 10:10
zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果 ...


作者: 随波逐客    时间: 2013-6-28 10:34
jason0108 发表于 2013-6-26 10:10
zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果 ...


作者: daniel_nianshao    时间: 2013-6-28 10:37
就是楼上所说的zookeeper的容忍度
作者: 闫铁    时间: 2013-6-28 16:24
容忍度。是这样的。
作者: 简刚    时间: 2014-8-14 22:39

作者: michael_ly    时间: 2014-8-14 22:51
jason0108 发表于 2013-6-26 10:10
zookeeper有这样一个特性:集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果 ...

2个容忍度是0,3个容忍度是1,这个好理解,后面的就不太明白了。。
作者: ernest100    时间: 2014-8-15 08:41
对,就是这样,奇数个可以认定超过半数失败才认为整个集群失败
作者: hanphy    时间: 2016-2-6 23:18
请问这个属性是必须配置的吗,无论zookeeper是否是hbase管理,还是独立管理?
作者: 403090061    时间: 2017-2-27 13:01
那如果设置了偶数会怎么样(比如设置了4个节点)?虽然zookeeper的这种特性要求他为奇数,但是如果你有4台机器,都要搭建habse+zookeeper,那如果只填奇数个节点的话,那剩下的那一个感觉没有起到同样的作用啊?
作者: evanford    时间: 2017-2-27 21:57
3楼分析的非常有道理。
作者: wangluan    时间: 2017-3-1 12:04
没错,容忍度保证50%+的话,最好是单数
作者: kanglishan    时间: 2017-6-8 10:00
1   一个是节省机器,  2   一个是防止脑裂
作者: kanglishan    时间: 2017-6-8 10:21
http://blog.csdn.net/qfzhangwei/article/details/53863814




欢迎光临 炼数成金 (http://f.dataguru.cn/) Powered by Discuz! X3.2