1 votes

Comment faire un arrêt en douceur (avec zéro réplique) ?

J'exploite actuellement un cluster à trois nœuds (elasticsearch) avec index.number_of_replicas: 0 . J'aimerais faire tomber un des nœuds pour la maintenance. Ai-je la possibilité de le faire sans augmenter les coûts de maintenance ? number_of_replicas ?

L'API d'arrêt ne semble pas rééquilibrer les shards avant l'arrêt du nœud. Il semble donc que je doive utiliser l'API de reroutage de cluster pour déplacer manuellement les tessons vers un autre nœud. Ce faisant, je rééquilibrerais les autres tessons vers mon nœud, et je suppose donc que je devrais rééquilibrer le cluster d'une manière ou d'une autre. Y a-t-il une meilleure option que celle-ci ?

3voto

EvilClown13 Points 121

Vous pouvez mettre un nœud hors service en demandant au cluster de l'exclure de la liste des nœuds. l'allocation. (Dans la documentation ici )

curl -XPUT localhost:9200/_cluster/settings -d '{
  "transient" :{
      "cluster.routing.allocation.exclude._ip" : "10.0.0.1"
   }
}';echo

Cela entraînera Elasticsearch à allouer les shards sur ce nœud pour nœuds restants, sans que l'état du cluster ne passe à la couleur jaune ou rouge (même si vous avez la réplication 0).

Une fois que tous les shards ont été réalloués, vous pouvez arrêter le noeud. et faire ce que vous avez besoin de faire là-bas. Une fois que vous avez terminé, incluez le pour l'allocation et Elasticsearch rééquilibrera les tiroirs à nouveau.

Réponse copiée à partir de https://stackoverflow.com/a/23905040/260805

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X