Vom ZooKeeper FAQ:ZooKeeper Zuverlässigkeit - drei im Vergleich zu fünf Knoten
Reliability:
A single ZooKeeper server (standalone) is essentially a coordinator with
no reliability (a single serving node failure brings down the ZK service).
A 3 server ensemble (you need to jump to 3 and not 2 because ZK works
based on simple majority voting) allows for a single server to fail and
the service will still be available.
So if you want reliability go with at least 3. We typically recommend
having 5 servers in "online" production serving environments. This allows
you to take 1 server out of service (say planned maintenance) and still
be able to sustain an unexpected outage of one of the remaining servers
w/o interruption of the service.
mit einem 3-Server-Ensemble, wenn ein Server aus der Rotation aufgenommen ist, und ein Server hat einen unerwarteten Ausfall, dann gibt es immer noch einen verbleibenden Server, der keine Unterbrechung des Dienstes gewährleisten sollte. Warum dann die Notwendigkeit für 5 Server? Oder ist es mehr als nur Unterbrechung des Dienstes, die in Betracht gezogen wird?
Update:
Dank @sbridges für den Hinweis auf, dass es mit der Aufrechterhaltung der ein Quorum zu tun hat. Und die Art und Weise, wie ZK ein Quorum definiert, ist ceil(N/2)
, wobei N
die ursprüngliche Nummer im Ensemble ist (und nicht nur die aktuell verfügbare Menge).
nun eine Google-Suche nach ZK Quorum findet diese im HBase Buch chapter on ZK:
In ZooKeeper, eine gerade Anzahl von Peers unterstützt wird, aber es ist in der Regel nicht verwendet, da ein gleich großes Ensemble erfordert Proportional, mehr Peers, um ein Quorum zu bilden, als ein Ensemble mit einer ungeraden Größe erfordert. Für Beispiel erfordert ein Ensemble mit 4 Peers 3, um ein Quorum zu bilden, während ein Ensemble mit 5 erfordert auch 3, ein Quorum zu bilden. Ein Ensemble von 5 ermöglicht also 2 Peers zu scheitern und noch Quorum zu halten, und ist daher mehr Fehlertoleranz als das Ensemble von 4, die nur 1 Down Peer erlaubt.
Und diese Umschreibungen von Wikipedia in Edward J. Yoon blog:
Normalerweise ist dies eine Mehrheit der dort erwarteten Menschen sein, obwohl viele Körper ein niedrigeres oder höheres Quorum haben.
Was wäre ein Beispiel für "geplante Wartung"? – user1870400