Amélioration d'Elasticsearch - Amazon Elasticsearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amélioration d'Elasticsearch

Note

Les mises à niveau de Elasticsearch sont différentes des mises à jour du logiciel Pour plus d'informations sur la mise à jour du logiciel de service pour votre domaine Amazon ES, consultezMise à jour du logiciel de service dans Amazon Elasticsearch Service.

Amazon Elasticsearch Service (Amazon ES) propose des mises à niveau pour Elasticsearch sur place pour les domaines qui exécutent les versions 5.1 ou ultérieures. Si vous utilisez des services tels qu'Amazon Kinesis Data Firehose ou Amazon CloudWatch Logs pour diffuser des données vers Amazon ES, vérifiez que ces services prennent en charge la dernière version d'Elasticsearch avant de procéder à la migration.

Amazon ES prend actuellement en charge les chemins de mise à niveau suivants :

De la version Vers la version
7.x

7.x

Important

Elasticsearch 7.10 introduit un changement de rupture en ce qui concerne les modèles dynamiques. Pour plus d'informations, consultez Exception d'analyse du mappeur lors de l'indexation.

6.8

7.x

Important

Elasticsearch 7.0 inclut de nombreuses modifications importantes. Avant de lancer une mise à niveau sur place, nous recommandons de prendre un instantané manuel du domaine 6.8, de le restaurer sur un domaine de test 7.x et d'utiliser ce domaine de test pour identifier les problèmes de mise à niveau potentiels.

Comme Elasticsearch 6.h/24, j/7, les index ne peuvent contenir qu'un seul type de mappage, mais ce type doit désormais être nommé_doc. Par conséquent, certaines API n'ont plus besoin d'un type de mappage dans le corps de la demande (comme l'API _bulk).

Pour les nouveaux index, Elasticsearch 7 auto-hébergé.h/24, j/7a un comme nombre de partitions par défaut. Amazon ES 7.h/24, j/7conservent la valeur par défaut précédente, à savoir cinq.

6.x

6.x

5.6

6.x

Important

Les index créés dans la version 6x ne prennent plus en charge plusieurs types de mappage. Les index créés dans la version 5.x prennent toujours en charge plusieurs types de mappage lors de leur restauration dans un cluster 6.x. Vérifiez que votre code client ne crée qu'un seul type de mappage par index.

Pour minimiser les temps d'arrêt pendant la mise à niveau d'Elasticsearch 5.6 vers 6.h/24, j/7, Amazon ES réindexe le.kibanaindex à.kibana-6, supprime.kibana, crée un alias nommé.kibanaet mappe le nouvel index au nouvel alias.

5.x 5.6

Le processus de mise à niveau comporte trois étapes :

  1. Vérifications avant mise à niveauAmazon ES effectue une série de vérifications afin de détecter tout problème susceptible de bloquer une mise à niveau, et ne passe à l'étape suivante que lorsque ces vérifications ont abouti.

  2. InstantanéAmazon ES prend un instantané du cluster Elasticsearch et ne passe à l'étape suivante qu'une fois l'instantané réalisé. Si la mise à niveau échoue, Amazon ES utilise cet instantané pour restaurer le cluster à son état d'origine. Pour plus d'informations sur cet instantané, consultez Impossible de rétrograder après la mise à niveau.

  3. UpgradeAmazon ES démarre la mise à niveau, ce qui peut prendre de 15 minutes à plusieurs heures. Kibana peut ne pas être disponible pendant la totalité ou une partie de la mise à niveau.

Dépannage d'une mise à niveau

Les mises à niveau Elasticsearch sur place nécessitent des domaines sains. Votre domaine peut être inéligible pour une mise à niveau ou peut échouer à effectuer une mise à niveau pour une multitude de raisons. Le tableau suivant indique les problèmes les plus courants.

Problème Description
Trop de partitions par nœud Le 7.h/24, j/7Les versions d'Elasticsearch ont un paramètre par défaut de pas plus de 1000 partitions par nœud. Si un nœud de votre cluster actuel dépasse la valeur de ce paramètre, Amazon ES ne vous permet pas d'effectuer la mise à niveau. Consultez Dépassée la limite maximale de partitions pour les options de dépannage.
Domaine en cours de traitement Un changement de configuration est actuellement en cours pour le domaine. Une fois l'opération terminée, vérifiez l'éligibilité pour la mise à niveau.
Statut de cluster rouge Une ou plusieurs index dans le cluster sont rouges. Pour obtenir les étapes de dépannage, consultez Statut de cluster rouge.
Taux d'erreur élevé Le cluster Elasticsearch renvoie un grand nombre de 5xxlors de la tentative de traitement des demandes. Ce problème est généralement dû à un trop grand nombre de demandes simultanées de lecture ou d'écriture. Envisagez de réduire le trafic vers le cluster ou de redimensionner votre domaine.
Split-Brain Split-Brainsignifie que votre cluster Elasticsearch possède plusieurs nœuds principaux et s'est scindé en deux clusters qui ne rejoindront jamais d'eux-mêmes. Vous pouvez éviter le problème Split-Brain en utilisant le nombre recommandé de nœuds principaux dédiés. Pour obtenir de l'aide afin de résoudre le problème Split-Brain, contactez AWS Support.
Nœud principal introuvable Amazon ES ne peut pas trouver le nœud principal du cluster. Si votre domaine utilise multi-AZ, il se peut qu'un échec de zones de disponibilité ait entraîné la perte du quorum par le cluster, empêchant ainsi ce dernier de choisir un nouveau nœud principal. Si le problème ne se résout pas automatiquement, contactez AWS Support.
Trop de tâches en attente Le nœud principal est soumis à une charge importante et a de nombreuses tâches en attente. Envisagez de réduire le trafic vers le cluster ou de redimensionner votre domaine.
Volume de stockage défaillant Le volume de disque d'un ou plusieurs nœuds ne fonctionne pas correctement. Ce problème se produit souvent parallèlement à d'autres problèmes, comme un taux d'erreur élevé ou un trop grand nombre de tâches en attente. Si ce problème est isolé et ne se résout pas automatiquement, contactez AWS Support.
Problème lié à la clé KMS La clé KMS utilisée pour chiffrer le domaine est inaccessible ou manquante. Pour plus d'informations, consultez Surveillance des domaines qui chiffrent les données au repos.
Instantané en cours Le domaine prend actuellement un instantané. Une fois l'instantané pris, vérifiez l'éligibilité pour la mise à niveau. Vérifiez également que vous pouvez lister les référentiels d'instantanés manuels, lister les instantanés dans ces référentiels et prendre des instantanés manuels. Si Amazon ES ne peut pas vérifier si un instantané est en cours, les mises à niveau peuvent échouer.
Délai d'expiration ou échec de l'instantané La création de l'instantané avant la mise à niveau a été trop longue ou a échoué. Vérifiez l'état du cluster et réessayez. Si le problème persiste, contactez AWS Support.
Index incompatibles Un ou plusieurs index sont incompatibles avec la version Elasticsearch cible d'. Ce problème peut se produire si vous avez migré les index à partir d'une ancienne version d'Elasticsearch, comme la version 2.3. Réindexez les index et réessayez.
Utilisation du disque élevée L'utilisation du disque pour le cluster est supérieure à 90 %. Supprimez des données ou redimensionnez le domaine, puis réessayez.
Utilisation JVM élevée La sollicitation de mémoire JVM est supérieure à 75 %. Réduisez le trafic vers le cluster ou redimensionnez le domaine, puis réessayez.
Problème d'alias Kibana .kibana est déjà configuré en tant qu'alias et mappé à un index incompatible, qui provient probablement d'une version antérieure de Kibana. Réindexez, puis réessayez.
Statut Kibana rouge Le statut de Kibana est rouge. Essayez d'utiliser Kibana une fois la mise à niveau terminée. Si le statut rouge persiste, résolvez-le manuellement, puis réessayez.
Compatibilité croisée Vous pouvez uniquement effectuer la mise à niveau si, après cette dernière, la compatibilité croisée est maintenue entre les domaines source et destination. Au cours du processus de mise à niveau, toutes les connexions incompatibles sont identifiées. Pour procéder à la mise à niveau, supprimez les connexions incompatibles.
Autre problème de service Amazon ES Les problèmes liés à Amazon ES peuvent conduire votre domaine à s'afficher en tant qu'inéligible pour une mise à niveau. Si aucune des conditions précédentes ne s'applique à votre domaine et que le problème persiste pendant plus d'une journée, contactez AWS Support.

Démarrage d'une mise à

Le processus de mise à niveau est irréversible et ne peut être ni suspendu, ni annulé. Au cours d'une mise à niveau, vous ne pouvez pas apporter de modifications à la configuration du domaine. Avant de commencer une mise à niveau, assurez-vous de vouloir poursuivre. Vous pouvez utiliser ces mêmes étapes pour effectuer la vérification avant la mise à niveau, sans réellement démarrer de mise à niveau.

Si le cluster dispose de nœuds maîtres dédiés, les mises à niveau sont exécutées sans temps d'arrêt. Sinon, le cluster peut ne pas répondre pendant plusieurs secondes après la mise à niveau pendant qu'il choisit un nœud maître.

Pour mettre à niveau un domaine vers une version ultérieure d'Elasticsearch (console)

  1. Prenez un instantané manuel de votre domaine. Cet instantané sert de sauvegarde que vous pouvezRestauration sur un nouveau domaineSi vous souhaitez utiliser à nouveau l'aide de la version d'Elasticsearch précédente.

  2. Accédez à https://aws.amazon.com, puis choisissez Sign In to the Console (Se connecter à la console).

  3. Sous Analytics (Analyse), choisissez Elasticsearch Service.

  4. Dans le volet de navigation, sous My domains (Mes domaines), choisissez le domaine que vous souhaitez mettre à jour.

  5. Choisissez Actions et Upgrade domain (Mettre à niveau le domaine).

  6. Pour Operation (Opération), choisissez Upgrade (Mettre à niveau), Submit (Envoyer), puis Continue (Continuer).

  7. Revenez à l'onglet Overview (Présentation), puis choisissez Upgrade status (Mettre à niveau l'état) pour surveiller l'état de la mise à niveau.

Pour mettre à niveau un domaine vers une version ultérieure d'Elasticsearch (AWSCLI et SDK)

Vous pouvez utiliser les opérations suivantes pour identifier la version d'Elasticsearch appropriée pour votre domaine, démarrer une mise à niveau sur place, effectuez la vérification avant mise à niveau et voir l'état d'avancement :

  • get-compatible-elasticsearch-versions (GetCompatibleElasticsearchVersions)

  • upgrade-elasticsearch-domain (UpgradeElasticsearchDomain)

  • get-upgrade-status (GetUpgradeStatus)

  • get-upgrade-history (GetUpgradeHistory)

Pour plus d'informations, consultez le .AWS CLIRéférence des commandesandRéférence de l'API de configuration pour Amazon Elasticsearch Service.

Utilisation d'un instantané pour migrer des données

Les mises à niveau sur place constituent le moyen le plus facile, le plus rapide et le plus fiable pour mettre à niveau un domaine vers une version ultérieure d'Elasticsearch. Les instantanés sont une bonne option si vous devez effectuer une migration à partir d'une version d'antérieure à 5.1 ou que vous souhaitez migrer vers un tout nouveau cluster.

Le tableau suivant montre comment utiliser des instantanés pour migrer des données vers un domaine qui utilise une autre version d'Elasticsearch. Pour plus d'informations sur la prise d'instantanés et leur restauration, consultez Création d'instantanés d'index dans Amazon Elasticsearch Service.

De la version A la version Processus de migration
6.x 7.x
  1. Passez en revue les modifications importantes pour la version 7.0 afin de voir si vous devez apporter des modifications à vos index ou à vos applications. Pour d'autres considérations, consultez le tableau figurant dans Amélioration d'Elasticsearch.

  2. Créez un instantané manuel du domaine 6.x.

  3. Créez un domaine 7.x.

  4. Restaurez l'instantané du domaine d'origine vers le domaine 7.x. Au cours de l'opération, vous devrez probablement restaurer l'index .kibana sous un nouveau nom :

    POST _snapshot/<repository-name>/<snapshot-name>/_restore { "indices": "*", "ignore_unavailable": true, "rename_pattern": ".kibana", "rename_replacement": ".backup-kibana" }

    Ensuite, vous pouvez réindexer .backup-kibana sur le nouveau domaine et lui donner l'alias .kibana.

  5. Si vous n'avez plus besoin de votre domaine d'origine, supprimez-le. Sinon, vous continuez à payer des frais pour le domaine.

6.x 6.8
  1. Créez un instantané manuel du domaine 6.x.

  2. Créez un domaine 6.8.

  3. Restaurez l'instantané du domaine d'origine vers le domaine 6.8.

  4. Si vous n'avez plus besoin de votre domaine d'origine, supprimez-le. Sinon, vous continuez à payer des frais pour le domaine.

5.x 6.x
  1. Passez en revue les modifications importantes pour la version 6.0 afin de voir si vous devez apporter des modifications à vos index ou à vos applications. Pour d'autres considérations, consultez le tableau figurant dans Amélioration d'Elasticsearch.

  2. Créez un instantané manuel du domaine 5.x.

  3. Créez un domaine 6.x.

  4. Restaurez l'instantané du domaine d'origine vers le domaine 6.x.

  5. Si vous n'avez plus besoin de votre domaine 5x, supprimez-le. Sinon, vous continuez à payer des frais pour le domaine.

5.x 5.6
  1. Créez un instantané manuel du domaine 5.x.

  2. Créez un domaine 5.6.

  3. Restaurez l'instantané du domaine d'origine vers le domaine 5.6.

  4. Si vous n'avez plus besoin de votre domaine d'origine, supprimez-le. Sinon, vous continuez à payer des frais pour le domaine.

2.3 6.x

Les instantanés Elasticsearch 2.3 ne sont pas compatibles avec la version 6.h/24, j/7. Pour migrer vos données directement de la version 2.3 vers la version 6.x, vous devez recréer manuellement vos index dans le nouveau domaine.

Vous pouvez également suivre les étapes permettant de migrer de la version 2.3 vers la version 5.x indiquées dans ce tableau, effectuer des opérations _reindex dans le nouveau domaine 5.x pour convertir vos index 2.3 en index 5.x, puis suivre les étapes permettant de migrer de la version 5.x vers la version 6.x.

2.3 5.x
  1. Passez en revue les modifications importantes pour la version 5.0 afin de voir si vous devez apporter des modifications à vos index ou à vos applications.

  2. Créez un instantané manuel du domaine 2.3.

  3. Créez un domaine 5.x.

  4. Restaurez l'instantané du domaine 2.3 vers le domaine 5x.

  5. Si vous n'avez plus besoin de votre domaine 2.3, supprimez-le. Sinon, vous continuez à payer des frais pour le domaine.

1.5 5.x

Les instantanés Elasticsearch 1.5 ne sont pas compatibles avec la version 5.h/24, j/7. Pour migrer vos données de la version 1.5 vers la version 5.x, vous devez recréer manuellement vos index dans le nouveau domaine.

Important

1.5 instantanéssontCompatible avec la version 2.3, mais les domaines Amazon ES 2.3 ne prennent pas en charge la_reindex. Dans la mesure où vous ne pouvez pas les réindexer, les index issus d'un domaine 1.5 ne peuvent toujours pas être restaurés des instantanés 2.3 vers les domaines 5x.

1.5 2.3
  1. Utilisez le plug-in de migration pour déterminer si vous pouvez directement passer à la version 2.3. Vous aurez peut-être besoin d'apporter des modifications à vos données avant de procéder à la migration.

    1. Dans un navigateur web, ouvrez http://domain_endpoint/_plugin/migration/.

    2. Choisissez Run checks now (Exécuter les vérifications maintenant).

    3. Vérifiez les résultats et, si nécessaire, suivez les instructions pour apporter des modifications à vos données.

  2. Créez un instantané manuel du domaine 1.5.

  3. Créez un domaine 2.3.

  4. Restaurez l'instantané du domaine 1.5 vers le domaine 2.3.

  5. Si vous n'avez plus besoin de votre domaine 1.5, supprimez-le. Sinon, vous continuez à payer des frais pour le domaine.