Supposons que j'ai 5 nœuds dans le cluster et que je dois supprimer 2 nœuds au moment de l'exécution. Alors, comment cela peut-il être fait sans affecter les indices?
J'ai eu un flux continu de données venant à près de 10 Gbphour qui est indexé en continu.
Est-ce que le rééquilibrage va aider? Merci d'avance
Vous pouvez mettre hors service un nœud en indiquant au cluster de l'exclure de l'allocation. (De la documentation ici )
curl -XPUT localhost:9200/_cluster/settings -H 'Content-Type: application/json' -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "10.0.0.1"
}
}';echo
Cela obligera Elasticsearch à allouer les fragments sur ce nœud aux nœuds restants, sans que l'état du cluster ne devienne jaune ou rouge (même si la réplication est 0).
Une fois que tous les fragments ont été réaffectés, vous pouvez arrêter le nœud et faire ce que vous devez faire. Une fois que vous avez terminé, incluez le nœud pour l'allocation et Elasticsearch rééquilibrera à nouveau les fragments.
Pour supprimer le noeud elasticsearch du cluster, exécutez la commande suivante
curl -XPUT P.P.P.P:9200/_cluster/settings -H 'Content-Type: application/json' -d '{
"transient" :{
"cluster.routing.allocation.exclude._ip" : "X.X.X.X"
}
}';echo
Ici P.P.P.P
est l'adresse IP privée du nœud maître, vous pouvez également utiliser localhost
si elasticsearch est exécuté sur localhost
. X.X.X.X
est l'adresse IP privée du nœud à supprimer du cluster.
Cette commande donnera acknowledgement
true
si le nœud est accepté pour être supprimé et le déplacement des données va commencer. Vérifiez si la relocalisation des données est terminée et que le nœud ne contient plus de fragments, puis arrêtez elasticsearch
process et stop/terminate
l'instance. Les commandes permettant de vérifier le déplacement des données et les fragments restants sont disponibles sur cet article .
Vous pouvez toujours arrêter le processus pour supprimer le nœud lors de l'exécution. Le cluster Elasticsearch sera automatiquement rééquilibré dans les nœuds restants. Mais, il y a des inconvénients ici.