Lors de l'exécution de zookeeper sur un cluster à 6 nœuds, est-ce que quelqu'un sait si le quorum est automatiquement déterminé comme étant 4 nœuds ou 3 nœuds?

Si le quorum est choisi comme N / 2, alors il deviendrait 3 et peut conduire à une situation de fractionnement du cerveau. Si le quorum est choisi comme (N + 1) / 2, il deviendra alors 4 et évitera la situation de fractionnement du cerveau.

J'espère donc que c'est ce dernier mais la documentation ne le fait pas mentionner quoi que ce soit de ce genre. Est-ce que quelqu'un le sait avec certitude?

P.S. Je sais qu'un nombre impair de nœuds de gardien de zoo est recommandé, mais je suis juste curieux de savoir ce qui se passe pour un nombre pair de nœuds.

3
user2250246 26 nov. 2017 à 14:36

3 réponses

Meilleure réponse

Voir org.apache.zookeeper.server.quorum.flexible.QuorumMaj.java

public boolean containsQuorum(HashSet<Long> set)
{
    return set.size() > n / 2;
}
2
ShaharT 26 nov. 2017 à 20:17

Je sais que c'est un ancien post, mais je réponds pour le bien des autres qui pourraient tomber sur ce post.

Zookeeper a besoin d'une majorité de nœuds pour être opérationnel et communiquer. Donc, dans votre cas, ce serait 4 sur 6, c'est pourquoi des nombres impairs sont utilisés. L'un de vos nœuds n'est-il pas redondant d'un point de vue HA? si 3 nœuds tombent, votre cluster est en panne. même chose avec un cluster à 5 nœuds.

0
Imran Suhail 7 août 2019 à 21:16

Avoir un nombre pair de nœuds n'ajoute aucun avantage lorsque les nœuds tombent / échouent. Dans le cas d'un cluster à 6 nœuds, il peut tolérer jusqu'à 2 pannes de nœuds, ce qui peut même être réalisé avec un cluster à 5 nœuds. Ainsi, l'ajout d'un nœud supplémentaire n'est qu'un coût opérationnel.

J'ai répondu à la même question dans mon blog.

Jetez un coup d'oeil s'il vous plait :) Pourquoi Zookeeper a un nombre impair de nœuds ?

0
Bikas Katwal 7 sept. 2019 à 08:34
47495694