mariadb galera - Erreur lorsqu'un nœud d'arrêt d'ERREUR 1047 WSREP n'a pas encore préparé de nœud pour une utilisation de l'application
J'ai installé 2 Mariadb Galera nœuds (mariadb-galera-10.0.27-linux-x86_64.tar.gz 2 CentOs 6.6 serveurs.
Après avoir installé, je commence node1 avec le paramètre --wsrep-new-cluster
, puis commencer à node2 sans ce paramètre.
Ils fonctionnent bien, les données sont synchronisées avec succès entre 2 nœuds.
Mais, quand j'ai arrêté node1. Node2 toujours en cours, mais lorsque je tente d'accéder à la base de données. Ça affiche cette erreur:
use testdb;
ERROR 1047 (08S01): WSREP has not yet prepared node for application use
Ce qui se passe dans ce cas?
Voici ma configuration sur 2 NŒUDS (Juste l'adresse IP différente)
[galera]
wsrep_on=ON
wsrep_cluster_name='mysql-cluster'
wsrep_provider='/home/mariadb/mariadb-galera/lib/galera/libgalera_smm.so'
wsrep_provider_options="gcache.size=1G"
wsrep_cluster_address="gcomm://10.211.26.116:4567?
pc.wait_prim=no"
wsrep_sst_method=rsync
binlog_format=row
default_storage_engine=InnoDB
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0
wsrep_node_address=10.211.26.117:4567
wsrep_node_name='db2'
OriginalL'auteur namdt55555 | 2016-11-17
Vous devez vous connecter pour publier un commentaire.
LES CLUSTERS À DEUX NOEUDS
Dans un deux nœuds cluster, un unique de défaillance d'un nœud cause de l'autre à arrêter de travailler.
Situation
Vous disposez d'un cluster composé de seulement deux nœuds. L'un des nœuds feuilles de l'cluster ungracefully. C'est, au lieu d'être arrêter par le biais de ou init systemd, il se bloque ou souffre d'une perte de connectivité réseau. Le nœud qui reste devient hors service. Il reste jusqu'à ce que certains des renseignements supplémentaires sont fournis par une tierce partie, telle qu'un opérateur humain ou un autre nœud.
Si le nœud est resté opérationnel après l'autre à gauche du cluster ungracefully, il y aurait le risque que chacun des deux nœuds pense lui-même comme étant le Composant Principal. Pour éviter cela, le nœud devient hors service.
Solutions
Il y a deux solutions s'offrent à vous:
Cette amorce le nœud survivant comme une nouvelle Composante Principale. Lorsque le nœud est de nouveau en ligne, ou qu'il regagne la connectivité réseau avec ce nœud, il va initier un transfert de l'état et de rattraper ce nœud.
Le nœud reprend le traitement des mises à jour et il continuera à le faire, même dans le cas où il soupçonne l'existence d'un "split-brain" de la situation.
Note d'Avertissement: l'Activation de pc.ignore_sb est dangereux dans un environnement multi-maître de l'installation, en raison du risque susmentionnés pour split-brain situations. Cependant, il ne simplifient les choses en maître-esclave, clusters, (surtout dans le cas où vous n'utilisez que deux nœuds).
En plus des solutions proposées ci-dessus, vous pouvez éviter la situation entièrement à l'aide d' Galera Arbitre. Galera Arbitre fonctionne comme un étrange nœud dans le quorum des calculs. Ce qui signifie que, si vous activez la Galera Arbitre sur un nœud dans un cluster à deux nœuds, le nœud reste l'élément Principal, même si l'autre nœud échoue ou perd la connexion au réseau.
http://galeracluster.com/documentation-webpages/twonode.html
SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';
il apparaît:ERROR 1210 (HY000): Incorrect arguments to SET
merci a bien fonctionné
OriginalL'auteur scarface_90
La raison probable est que votre node1 descendit ungracefully, ou au moins node2 le croyais. Dans ce cas 2-nœud de cluster atteint un split-brain situation, où la partie restante(s) du cluster ne peut pas décider s'ils sont censés être la composante principale. C'est pourquoi 2-les clusters de nœuds ne sont pas recommandés.
Vérifier les journaux de node1 pour voir si il arrête normalement, et si elle l'était, les journaux de node2 pour voir comment il perçoit la situation. Si il a vu node1 l'arrêt normal, il dirait quelque chose comme
etc.; mais si elle pensait que l'autre nœud a été perdu, il serait plus comme
etc.
Voir http://nirbhay.in/blog/2015/02/split-brain/ pour plus de détails et les journaux exemples de la split-brain situation.
Le meilleur moyen de l'éviter est d'utiliser Galera arbitre: http://nirbhay.in/blog/2013/11/what-is-galera-arbitrator/
Techniquement, vous pouvez, mais il ne va pas aider. Si vous avez tendance à redémarrer la machine, l'arbitre qui fonctionne, il y aura aussi bien, et vous aurez le même "split-brain", seulement, au lieu de 1/1 (1 nœud à gauche, 1 perdu), il sera 2/2. Si l'un de vos hôtes est à haut risque pour les redémarrages et une autre qui est plus stable, vous pourrait envisager la création d'un poids supérieur à la version stable
en exécutant
SET GLOBAL wsrep_provider_options="pc.weight=3"
ou quelque chose comme ça. Dans ce cas, lorsque le "faible" nœud tombe en panne, le plus fort, on va savoir qu'il est toujours primaire. Si il se trouve que le fort est allé vers le bas, vous pouvez revivre l'autre en exécutantSET GLOBAL wsrep_provider_options='pc.bootstrap=true'
. Faire attention à ne pas installer les deux de vos noeuds de bootstrap, sinon vous finirez par avoir deux groupes distincts.OriginalL'auteur elenst