Elasticsearch - Migration entre les versions

Dans tout système ou logiciel, lorsque nous mettons à niveau vers une version plus récente, nous devons suivre quelques étapes pour conserver les paramètres de l'application, les configurations, les données et autres. Ces étapes sont nécessaires pour rendre l'application stable dans le nouveau système ou pour maintenir l'intégrité des données (éviter que les données ne soient corrompues).

Vous devez suivre les étapes suivantes pour mettre à niveau Elasticsearch -

  • Lire les documents de mise à niveau sur https://www.elastic.co/

  • Testez la version mise à niveau dans vos environnements hors production comme dans l'environnement UAT, E2E, SIT ou DEV.

  • Notez que le retour à la version précédente d'Elasticsearch n'est pas possible sans sauvegarde des données. Par conséquent, une sauvegarde des données est recommandée avant la mise à niveau vers une version supérieure.

  • Nous pouvons mettre à niveau en utilisant un redémarrage complet du cluster ou une mise à niveau progressive. La mise à niveau progressive concerne les nouvelles versions. Notez qu'il n'y a pas de panne de service lorsque vous utilisez la méthode de mise à niveau progressive pour la migration.

Étapes de mise à niveau

  • Testez la mise à niveau dans un environnement de développement avant de mettre à niveau votre cluster de production.

  • Sauvegardez vos données. Vous ne pouvez pas revenir à une version antérieure sauf si vous disposez d'un instantané de vos données.

  • Envisagez de fermer les tâches de machine learning avant de démarrer le processus de mise à niveau. Bien que les tâches d'apprentissage automatique puissent continuer à s'exécuter pendant une mise à niveau progressive, cela augmente la surcharge sur le cluster pendant le processus de mise à niveau.

  • Mettez à niveau les composants de votre Elastic Stack dans l'ordre suivant -

    • Elasticsearch
    • Kibana
    • Logstash
    • Beats
    • Serveur APM

Mise à niveau à partir de la version 6.6 ou antérieure

Pour mettre à niveau directement vers Elasticsearch 7.1.0 à partir des versions 6.0-6.6, vous devez réindexer manuellement tous les index 5.x que vous devez reporter et effectuer un redémarrage complet du cluster.

Redémarrage complet du cluster

Le processus de redémarrage complet du cluster implique l'arrêt de chaque nœud du cluster, la mise à niveau de chaque nœud vers 7x, puis le redémarrage du cluster.

Voici les étapes de haut niveau qui doivent être effectuées pour un redémarrage complet du cluster -

  • Désactiver l'allocation de partition
  • Arrêtez l'indexation et effectuez un vidage synchronisé
  • Arrêtez tous les nœuds
  • Mettre à niveau tous les nœuds
  • Mettez à niveau tous les plugins
  • Démarrez chaque nœud mis à niveau
  • Attendez que tous les nœuds rejoignent le cluster et signalez un état jaune
  • Réactiver l'allocation

Une fois l'allocation réactivée, le cluster commence à allouer les fragments de réplique aux nœuds de données. À ce stade, vous pouvez reprendre l'indexation et la recherche en toute sécurité, mais votre cluster récupérera plus rapidement si vous pouvez attendre que toutes les partitions principales et de réplique aient été allouées avec succès et que l'état de tous les nœuds soit vert.