Pourquoi mon domaine Amazon OpenSearch Service est-il bloqué à l’état « Traitement » ?

Lecture de 7 minute(s)
0

Mon cluster Amazon OpenSearch Service est bloqué à l'état « Traitement ».

Brève description

Votre cluster OpenSearch Service passe à l'état «Traitement» lorsqu'il est en cours de modification de configuration. Le cluster peut rester bloqué à l'état « En cours de traitement » si l'une des situations suivantes se produit :

  • Un contrôle de validation a échoué avec des erreurs.
  • Un nouvel ensemble de ressources n'a pas pu être lancé.
  • La migration des partitions vers le nouvel ensemble de nœuds de données n'est pas terminée.
  • L'ancien ensemble de ressources n'a pas pu être résilié.

Lorsque vous initiez une modification de configuration, l'état du domaine passe à «Traitement» tandis qu'OpenSearch Service crée un nouvel environnement. Dans le nouvel environnement, OpenSearch Service lance un nouvel ensemble de nœuds applicables, tels que des nœuds de données, des nœuds primaires dédiés ou des nœuds UltraWarm. Une fois la migration terminée, les anciens nœuds sont fermés.

Vous pouvez consulter la progression de la modification de configuration dans la console sous État du domaine. Vous pouvez également suivre la progression d'une modification de configuration à l'aide de l'API DescribeDomainChangeProgress. Pour plus d'informations, consultez la section Étapes d'une modification de configuration.

Résolution

Un contrôle de validation a échoué avec des erreurs

Lorsque vous initiez un changement de configuration ou effectuez une mise à niveau de version du domaine OpenSearch Service, OpenSearch Service effectue d'abord une série de contrôles de validation. Les contrôles de validation garantissent que votre domaine est éligible à une mise à niveau. Un domaine peut rester bloqué à l'état « En cours de traitement » lorsque les contrôles de validation échouent avec des erreurs. Un contrôle de validation peut échouer pour plusieurs raisons. Pour résoudre ce problème, consultez la section Résolution des erreurs de validation. Suivez les étapes de résolution des problèmes associées aux erreurs de validation et réessayez de modifier la configuration.

Un nouvel ensemble de ressources n'a pas pu être lancé

Lorsque vous soumettez des modifications de configuration simultanées à votre cluster avant la fin de la première modification de configuration, celui-ci peut rester bloqué. Lorsque vous soumettez une nouvelle modification de configuration, attendez qu'elle soit terminée avant de soumettre une autre modification de configuration.

Les contrôles de validation de votre domaine lors de l'étape de Validation restent valides pendant toute la durée du changement de configuration. Si votre configuration passe l'étape de Validation, évitez de modifier les ressources dont dépend votre domaine. Par exemple, ne désactivez pas la clé AWS Key Management Service (AWS KMS) utilisée pour le chiffrement.

Votre domaine peut également être bloqué s'il rencontre une erreur ClusterBlockException. Cela peut se produire en raison d'un manque d'espace de stockage disponible ou d'une forte pression sur la mémoire JVM. Pour plus d'informations et pour résoudre les problèmes, consultez ClusterBlockException.
Remarque : Vous pouvez consulter les métriques FreeStorageSpace, MasterCPUUtilization et MasterJVMMemoryPressure dans Amazon CloudWatch.

La migration des partitions vers le nouvel ensemble de nœuds de données n'est pas terminée

Une fois les nouvelles ressources créées par OpenSearch Service, la migration des partitions de l'ancien ensemble de nœuds de données vers le nouvel ensemble commence. Cette étape peut prendre de quelques minutes à plusieurs heures en fonction de la charge et de la taille du cluster.

Pour surveiller la migration actuelle des partitions entre les anciens nœuds et les nouveaux nœuds, exécutez l'appel d'API suivant :

GET /<DOMAIN_ENDPOINT>/_cat/recovery?active_only=true

La migration de partition peut échouer pour les raisons suivantes :

  • Votre cluster OpenSearch Service est actuellement à l'état rouge. Si votre cluster est au statut rouge, dépannez votre statut de cluster rouge jusqu’à ce que votre cluster soit à nouveau sain. Pour plus d'informations, consultez Pourquoi mon cluster Amazon OpenSearch Service est-il affiché en rouge ou en jaune ?
  • Votre cluster est surchargé et ne peut pas allouer de ressources pour gérer la migration des partitions. Un cluster soumis à une pression élevée du processeur et de la JVM peut être surchargé. Surveillez les métriques CloudWatch JVMMemoryPressure et CPUUtilization. Pour plus d'informations, consultez la section Affichage des métriques dans CloudWatch.
  • Il y a un manque d'espace de stockage libre dans le nouvel ensemble de nœuds. Ce problème se produit lorsque de nouvelles données entrent dans le cluster pendant le processus de déploiement bleu/vert. Ce problème peut également se produire lorsque les anciens nœuds contiennent de gros fragments qui ne peuvent pas être alloués aux nouveaux nœuds.

Pour connaître la taille de vos partitions, utilisez l’API cat partitions sur le site Web d'Elasticsearch.
Pour connaître le nombre de partitions attribuées à chaque nœud, utilisez l’API d'allocation cat sur le site Web d'Elasticsearch.
Pour savoir pourquoi certaines partitions ne peuvent pas être attribuées aux nouveaux nœuds, utilisez l'API d'explication de l'allocation des clusters sur le site Web d'Elasticsearch.
Si vous avez d'anciens index dont vous n'avez plus besoin, vous pouvez utiliser l’API de suppression d'index sur le site Web d'Elasticsearch pour libérer de l'espace de stockage.

Si votre partition ne peut pas être affectée à un nœud parce qu'il a dépassé le nombre maximal de tentatives, vous pouvez réessayer l'allocation. Augmentez le paramètre d'index « index.allocation.max_retries » associé à cette partition à l'aide de l'appel d'API suivant :

PUT <INDEX_NAME>/_settings
{
    "index.allocation.max_retries" : 10
}

Remarque : Par défaut, le cluster tente d'allouer une partition au maximum 5 fois de suite.

  • En raison de défaillances matérielles internes, les partitions des anciens nœuds de données peuvent rester bloquées lors d'une migration.
    Remarque : En fonction de votre problème matériel, OpenSearch Service exécute des scripts d’auto réparation pour rétablir le bon état des nœuds.
  • Une relocalisation bloquée causée par des partitions épinglées à un ancien ensemble de nœuds. Pour vous assurer que les partitions ne sont pas épinglées à des nœuds, vérifiez les paramètres de l'index. Ou bien, vérifiez si votre cluster présente une erreur ClusterBlockException.

Pour identifier les partitions qui ne peuvent pas être allouées aux nouveaux nœuds et les paramètres d'index correspondants, utilisez les commandes suivantes :

GET /<DOMAIN_ENDPOINT>/_cluster/allocation/explain?pretty
GET /<DOMAIN_ENDPOINT>/<INDEX_NAME>/_settings?pretty

À l'aide de l’API d'obtention des paramètres d'indexation sur le site Web d'Elasticsearch, vérifiez si l'un de ces paramètres apparaît :

{
    "index.routing.allocation.require._name": "NODE_NAME" (OR)
    "index.blocks.write": true
}

Si vous trouvez « index.routing.allocation.require._name » : « <NODE_NAME> » dans les paramètres de votre index, alors réinitialisez ce paramètre à l'aide de l'appel d'API suivant :

PUT /<DOMAIN_ENDPOINT>/<INDEX_NAME>/_settings
{
    "index.routing.allocation.require._name": null
}

Pour plus d’informations, consultez la section Filtrage de l’allocation de partitions au niveau de l’index sur le site Web d'Elasticsearch.

Si vous observez « index.blocks.write » : true dans les paramètres de votre index, cela signifie que votre index contient un blocage d'écriture. Ce problème de blocage d'écriture peut être dû à une erreur ClusterBlockException. Pour résoudre ce problème, consultez la page Comment résoudre l’erreur 403 « index_create_block_exception » ou l’erreur « cluster_block_exception » dans OpenSearch Service ?

Bonnes pratiques

Pour éviter que votre cluster OpenSearch Service ne reste bloqué à l'état « Traitement », suivez les bonnes pratiques suivantes :

  • Assurez-vous que votre cluster peut prendre en charge le processus de déploiement bleu/vert avant de soumettre une modification de configuration.
  • Soumettez une test à blanc de vos modifications avant de soumettre les modifications de configuration.
  • Assurez-vous que votre cluster n'est pas surchargé.
  • Évitez de soumettre plusieurs modifications de configuration simultanément.
  • Envisagez de soumettre une modification de configuration pendant les heures de faible trafic.
  • Surveillez la progression de votre modification de configuration.

Remarque : Contactez AWS Support si l'une des situations suivantes se produit :

  • Votre cluster reste bloqué à l'état « En cours de traitement » pendant plus de 24 heures.
  • Votre domaine est bloqué à l'étape «Supprimer les anciennes ressources».
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois