Pourquoi la mise à niveau de mon domaine OpenSearch Service prend-elle autant de temps ?

Lecture de 7 minute(s)
0

J'essaie de mettre à jour mon domaine Amazon OpenSearch Service, mais la mise à niveau prend du temps.

Brève description

Lorsque vous mettez à niveau la version de votre domaine OpenSearch Service, des modifications de configuration sont apportées pour activer un processus de déploiement bleu/vert. Dans un déploiement bleu/vert, deux environnements de production sont exécutés. Un environnement est actif et l'autre est inactif. Les deux environnements de production sont ensuite commutés en fonction des mises à jour logicielles. Pour OpenSearch Service, un nouvel environnement est créé lors des mises à jour du domaine et les utilisateurs sont redirigés vers le nouvel environnement de production une fois les mises à jour terminées. Ce comportement minimise les temps d'arrêt et préserve l'environnement d'origine en cas d'échec d'un déploiement.

Le processus de mise à niveau d'OpenSearch Service consiste à vérifier les problèmes avant la mise à niveau et à créer un instantané du cluster pour restaurer le cluster en cas d'échec de la mise à niveau.

Les problèmes suivants peuvent survenir lors d'une mise à niveau du service OpenSearch :

  • Échec des vérifications avant la mise à niveau
  • Le processus de mise à niveau est trop long
  • Mise à niveau réussie avec quelques problèmes

Pour plus d'informations, consultez la section Mise à niveau des domaines Amazon OpenSearch Service.

Résolution

Contrôles avant la mise à niveau

Le processus de mise à niveau est irréversible. Vous ne pouvez pas le mettre en pause ou l'annuler. Lors d'une mise à niveau, vous ne pouvez pas apporter de modifications à la configuration du domaine. Avant de commencer une mise à niveau, il est recommandé de vérifier l'éligibilité. Il se peut que votre domaine ne soit pas éligible à une mise à niveau ou que la mise à niveau ne soit pas possible.

Pour connaître les problèmes de mise à niveau les plus courants, consultez la section Résolution des problèmes liés à une mise à niveau.

Vérifiez l'état du snapshot

Avant une migration, OpenSearch Service réalise un instantané automatique de votre cluster lorsqu'il passe le test d'éligibilité. Lors d'un instantané, l'état de progression peut indiquer Null ou 0 %. Une fois qu'OpenSearch Service a pris l'instantané, la valeur en pourcentage est mise à jour. Le temps nécessaire à la réalisation d'un instantané peut varier en fonction de l'espace de stockage. Le service OpenSearch prend des instantanés de manière incrémentielle. Si des modifications importantes sont apportées à vos données par rapport à l'instantané automatique précédent, la réalisation de votre instantané peut prendre plus de temps.

La requête _snapshot suivante extrait tous les instantanés en cours d'exécution, avec des informations d'état détaillées :

GET /_snapshot/_status

Pour plus d'informations sur les API de capture instantanée, consultez la section Surveiller un instantané sur le site Web d'Elasticsearch.

Récupérez tous les instantanés du cluster et les ID de nœud

Pour récupérer tous les instantanés en cours d'exécution dans votre cluster, utilisez le paramètre courant :

GET /_snapshot/<snapshot-repository>/_current

Pour obtenir les identifiants de tous les nœuds de données, exécutez l'API cat nodes :

GET _cat/nodes

Vous pouvez utiliser les ID des nœuds pour identifier les nœuds anciens ou nouveaux. Un nombre croissant de partitions sur les nouveaux nœuds indique une migration fluide. Finalement, tous les fragments se déplacent vers les nouveaux nœuds, et les anciens nœuds deviennent vides.

Surveillez le processus de déploiement bleu/vert

Lorsque votre cluster entre dans le processus de déploiement bleu/vert, les nouveaux nœuds apparaissent dans l'environnement vert. Les fragments sont ensuite migrés depuis les anciens nœuds dans l'environnement bleu. Une fois la migration des données ou la réallocation des partitions terminée, vos anciens nœuds sont fermés.

Vous pouvez surveiller le processus de déploiement bleu/vert en trois étapes : nouveaux nœuds, migration des données et suppression des anciens nœuds.

Étape 1 : Création de nouveaux nœuds

Vous pouvez surveiller la métrique cluster des nœuds dans Amazon CloudWatch pour obtenir le nombre de nœuds. Vous pouvez également utiliser l'API cat nodes pour répertorier tous les nœuds de votre cluster :

GET /_cat/nodes?v&pretty

Au cours de cette étape du processus de déploiement bleu/vert, vous pouvez voir les nouveaux nœuds à partir de la sortie de l'API à mesure que le nombre de nœuds augmente.

Étape 2 : Migration de données

Dès que la première étape est terminée, la migration des partitions commence. Au cours de la migration des données, le nombre de partitions pour les anciens nœuds diminue et le nombre de partitions pour les nouveaux nœuds augmente. Vous pouvez utiliser l'API cat/allocation (disponible sur le site Web d'OpenSearch) pour obtenir le nombre de partitions allouées à chaque nœud :

GET /_cat/allocation

Pour obtenir le statut des partitions (Démarré, Déplacé ou Non affecté), exécutez l'API suivante :

GET _cat/shards?h=index,shard,prirep,state,relocating.reason

Pour vérifier l'état de restauration (depuis le site Web d'Elasticsearch) des partitions du cluster, exécutez l'API suivante :

GET _cat/recovery?active_only=true

Au cours de cette étape, la migration des données peut prendre plus de temps en raison d'un cluster surchargé, de partitions déséquilibrées ou de problèmes de backend.

Cluster surchargé

Assurez-vous de mettre à niveau la version lorsque le trafic du cluster n'est pas élevé. Avant de commencer la mise à niveau, vérifiez les métriques du cluster CPUUtilization et JVMMemoryPressure pour vous assurer que ces métriques ont des valeurs optimales.

Pour plus d'informations, consultez la section Comment résoudre les problèmes de pression de mémoire élevée sur la machine virtuelle Java sur mon cluster Amazon OpenSearch Service ?

Fragments déséquilibrés

Par défaut, Amazon OpenSearch Service applique une stratégie de partitionnement de 5:1, chaque index est divisé en cinq partitions principales. Définissez la taille de votre stratégie de partitionnement de telle sorte que chacune partage entre 10 et 30 GiB pour les charges de travail de recherche, ou entre 30 et 50 GiB pour les charges de travail de journalisation.

OpenSearch et Elasticsearch 7.x et versions ultérieures sont limités à 1 000 partitions par nœud. Il est recommandé de ne pas disposer de plus de 25 partitions par GiB de tas Java.

Pour plus d'informations, consultez la section Comment rééquilibrer la distribution inégale des partitions dans mon cluster Amazon OpenSearch Service ?

Problèmes liés au backend

Au cours de cette étape, la migration des partitions peut être bloquée en raison de problèmes de backend. Si la migration ne progresse pas et que le problème ne se résout pas de lui-même, contactez AWS Support.

Étape 3 : Suppression des anciens nœuds

Une fois que toutes les partitions ont été migrées vers les nouveaux nœuds, les anciens nœuds sont supprimés de votre cluster. Le nombre de nœuds revient ensuite au nombre de nœuds d'origine que vous avez configuré. À ce stade, les processus de déploiement et de mise à jour bleu/vert sont terminés.

Mise à niveau réussie avec quelques problèmes

Le message « Mise à niveau réussie avec problèmes » s'affiche lorsque le cluster bloque les demandes d'écriture entrantes. Vérifiez la métrique ClusterIndexWritesBlocked d'OpenSearch Service. Une valeur de un signifie que le cluster bloque les demandes d'écriture. Pour résoudre ce problème, ajoutez de l'espace disque ou redimensionnez votre cluster.

Pour plus d'informations, consultez la section Meilleures pratiques opérationnelles pour le service Amazon OpenSearch.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois