码迷,mamicode.com
首页 > 其他好文 > 详细

我需要运行几个ZooKeeper?

时间:2014-11-20 21:39:56      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:des   style   io   ar   color   os   sp   for   on   

      由于Zookeeper采用了Paxos算法来进行选举,因此实际能够有效参与选举的节点数量是奇数。你运行一个zookeeper也是可以的,但是在生产环境中,你最好部署357个节点。部署的越多,可靠性就越高,当然最好是部署奇数个,偶数个不是不可以的,但是zookeeper集群是以宕机个数过半才会让整个集群宕机的,所以奇数个集群更佳。你需要给每个zookeeper 1G左右的内存,如果可能的话,最好有独立的磁盘。 (独立磁盘可以确保zookeeper是高性能的。).如果你的集群负载很重,不要把ZookeeperRegionServer运行在同一台机器上面。就像DataNodes 和 TaskTrackers一样。

       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呢。

 

我需要运行几个ZooKeeper?

标签:des   style   io   ar   color   os   sp   for   on   

原文地址:http://www.cnblogs.com/nanxin521/p/4111418.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!