Comment supprimer un noeud du cluster elasticsearch sur le moteur d’exécution sans temps d’arrêt

Supposons que j’ai 5 nœuds en cluster et que je devais supprimer 2 nœuds lors de l’exécution. Alors, comment cela peut-il être fait sans affecter les indices?

J’ai eu un stream continu de données venant à près de 10 Gbphour qui est indexé en permanence.

Est-ce que le rééquilibrage vous aidera? Merci d’avance

Vous pouvez mettre hors service un noeud en demandant 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 entraînera 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 vous avez la réplication 0).

Une fois que tous les fragments ont été réaffectés, vous pouvez arrêter le noeud et faire ce que vous devez faire là-bas. Une fois que vous avez terminé, incluez le nœud pour l’allocation et Elasticsearch rééquilibrera à nouveau les fragments.

Pour supprimer le nœud elasticsearch du cluster, exécutez simplement la commande suivante

 curl -XPUT PPPP:9200/_cluster/settings -H 'Content-Type: application/json' -d '{ "transient" :{ "cluster.routing.allocation.exclude._ip" : "XXXX" } }';echo 

Ici, PPPP est l’adresse IP privée du nœud maître, vous pouvez également utiliser l’ localhost si elasticsearch est exécuté sur localhost . XXXX est l’adresse IP privée du noeud à supprimer du cluster.

Cette commande donnera un acknowledgement true si le nœud est accepté pour être supprimé et que le transfert de données commencera. Vérifiez si le transfert de données est terminé et que le nœud ne contient plus de fragments, puis arrêtez le processus elasticsearch et stop/terminate l’instance. Les commandes permettant de vérifier le transfert de données et les fragments restants sont disponibles dans cet article .

Vous pouvez toujours supprimer le processus pour supprimer le nœud à l’exécution. Le cluster Elasticsearch rééquilibrera automatiquement les nœuds restants. Mais, il y a des inconvénients ici.

  1. Combien de répliques avez-vous dans vos parameters?
  2. Combien de tessons avez-vous dans vos parameters?
  3. Si les données présentes dans les fragments sont trop volumineuses (10 Go par heure), le rééquilibrage peut prendre du temps.
  4. Si vous avez suffisamment de répliques, l’état du cluster deviendra jaune. Dans cet état, vous pouvez indexer et rechercher pendant cette période. Cependant, les fragments ne sont pas atsortingbués initialement, puis passent à l’équilibre des nœuds lentement.