[
https://issues.apache.org/jira/browse/ZOOKEEPER-1044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14201080#comment-14201080
]
Alexander Shraer commented on ZOOKEEPER-1044:
---------------------------------------------
also see ZOOKEEPER-1660 for documentation.
> If I understand correctly, zookeeper must keep the number of participants to
> be an odd number to avoid a tie
> condition.
no, it doesn't matter for zookeeper whether its odd or even. Its recommended to
keep it odd since zookeeper needs a majority of servers up and running to work,
so for example if you have 5 servers you can tolerate a failure of 2. But if
you have 6 servers you can also tolerate only 2 failures, so in terms of fault
tolerance having 6 vs having 5 doesn't give you anything.
If one participant out of 3 is down you can't tolerate any more failures - any
other failure will bring your ensemble down. You can do a reconfig in which you
remove the faulty server and change an observer into a participant.
In the docs notice the corner case explained in Sec 4.2.6 (Changing an observer
into a follower) - in some cases you may need to first remove the observer
(logically, using a reconfig) and then add it back as a participant. Usually
you can do just one command though.
> Allow dynamic changes to roles of a peer
> ----------------------------------------
>
> Key: ZOOKEEPER-1044
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1044
> Project: ZooKeeper
> Issue Type: Sub-task
> Components: quorum
> Affects Versions: 3.3.0
> Reporter: Vishal Kher
> Assignee: Alexander Shraer
> Fix For: 3.5.0
>
>
> Requirement: functionality that will reconfigure
> a OBSERVER to become a voting member and vice versa.
> Example of usage:
> 1. Maintain the Quorum size without changing the cluster size - in a 5
> node cluster with 2 observers, I decide to decommission a voting
> member. Then, I would like to configure one of my observers to be a
> follower without any down time.
> 2. Added a new server to the cluster that has better resources than
> one of the voting peers. Make the new node as voting peer and the old
> one as observer.
> 3. Reduce the size of voting member for performance reasons.
> Fix to ZOOKEEPER-107 might automatically give us this functionality.
> It will be good to confirm that, and if needed, highlight work
> that might be needed in addition to ZOOKEEPER-107.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)