Created 07-01-2016 10:34 AM
Created 07-01-2016 11:17 AM
The reason is that in a distributed transactional system with a Paxos or similar algorithm you need a quorum ( majority ). Essentially a transaction is committed once more than 50% of nodes say that the transaction is committed.
You could do 4 journalnodes / zookeeper nodes as well but you would not get any benefit over 3 nodes and you add additional overhead. 4 Nodes can only survive 1 failed node because 3 journal-nodes are a majority. But not 2. Therefore you need an uneven number. 3 nodes can survive 1 failure, 5 nodes can survive 2 failures, 7 nodes can survive 3 failures and so on ...
Created 07-01-2016 11:17 AM
The reason is that in a distributed transactional system with a Paxos or similar algorithm you need a quorum ( majority ). Essentially a transaction is committed once more than 50% of nodes say that the transaction is committed.
You could do 4 journalnodes / zookeeper nodes as well but you would not get any benefit over 3 nodes and you add additional overhead. 4 Nodes can only survive 1 failed node because 3 journal-nodes are a majority. But not 2. Therefore you need an uneven number. 3 nodes can survive 1 failure, 5 nodes can survive 2 failures, 7 nodes can survive 3 failures and so on ...
Created 07-01-2016 12:00 PM
Thanks you ...
Created 11-18-2017 08:52 AM
If 3 nodes can survive 1 failure , then how will quorum ( majority ) will meet with 2 running server?
Created 01-16-2018 02:13 PM
Additional details to Ben Leonhardi's response including the formula for Quorum Calculation:
http://bytecontinnum.com/zookeeper-always-configured-odd-number-nodes/