Comment puis-je rééquilibrer la distribution de partitions inégales dans mon cluster Amazon OpenSearch Service ?

Date de la dernière mise à jour : 11/01/2023

L'espace disque de mon domaine Amazon OpenSearch Service est inégalement distribué sur les nœuds. Par conséquent, l'utilisation du disque est fortement asymétrique.

Brève description

L'utilisation du disque peut être fortement asymétrique pour les raisons suivantes :

  • Tailles de partition inégales dans un cluster. Bien qu'OpenSearch Service répartit uniformément le nombre de partitions entre les nœuds, différentes tailles de partitions nécessitent différentes quantités d'espace disque.
  • Espace disque disponible sur un nœud. Pour plus d'informations, consultez Allocation des partitions basée sur disque (langue française non garantie) sur le site web d'Elasticsearch.
  • Stratégie d'allocation des partitions incorrecte. Pour plus d'informations, consultez la section Démystification de l'allocation de partitions OpenSearch Service.

Utilisez les approches suivantes pour rééquilibrer l'allocation de partitions dans votre cluster OpenSearch Service :

  • Vérifiez l'allocation des partitions, leur taille et la stratégie de partitionnement d'index.
  • Assurez-vous que les partitions sont de taille égale sur tous les index.
  • Maintenez la taille des partitions entre 10 Go et 50 Go pour de meilleures performances.
  • Ajoutez d'autres nœuds de données à votre cluster OpenSearch Service.
  • Mettez à jour votre stratégie de partitionnement.
  • Supprimez les index anciens ou inutilisés pour libérer de l'espace disque.

Résolution

Vérification de l'allocation des partitions, de leur taille et de la stratégie de partitionnement d'index

Utilisez l'API suivante pour vérifier le nombre de partitions allouées à chaque nœud et le volume d'espace disque utilisé sur chaque nœud :

GET _cat/allocation?v

Pour vérifier les partitions allouées à chaque nœud et la taille de chaque partition, utilisez l'API suivante :

GET _cat/shards?v

Remarque : cette API montre que la taille des partitions peut varier selon les index.

La stratégie de partitionnement inégal des index peut entraîner une asymétrie des données. Dans ce cas, les partitions d'index plus importants ne se trouvent que sur quelques nœuds. Pour vérifier la stratégie de partitionnement des index, utilisez l'API suivante :

GET _cat/indices?v

Assurez-vous que les partitions sont de taille égale sur tous les index

Si la taille d'index varie de manière significative, alors utilisez l'API d'index de substitution pour créer un nouvel index lorsque certaines tailles d'index sont atteintes. Vous pouvez également utiliser la Gestion de l'état d'index (ISM) pour créer un index pour OpenSearch Service versions 7.1 et ultérieures. Pour plus d'informations sur la propagation d'un alias à l'aide d'ISM, consultez substitution sur le site web d'Open Distro.

Maintenez la taille des partitions entre 10 Go et 50 Go pour obtenir de meilleures performances

Si vous disposez d'une grande classe d'instances, alors utilisez l'échelle de pétaoctets pour Amazon OpenSearch Service pour déterminer les tailles de partitions. Par exemple, un domaine OpenSearch Service avec plusieurs instances i3.16xlarge.search peut prendre en charge des tailles de partition allant jusqu'à 100 Go, car il y a plus de ressources disponibles. Pour plus d'informations sur la stratégie de partitionnement, consultez Choix du nombre de partitions.

Ajoutez d'autres nœuds de données à votre cluster OpenSearch Service

Si votre cluster OpenSearch Service a atteint des niveaux élevés d'utilisation du disque, ajoutez d'autres nœuds de données à votre cluster. L'ajout de nœuds de données ajoute également davantage de ressources pour améliorer les performances du cluster.

Remarque : OpenSearch Service ne rééquilibre pas automatiquement le cluster en cas de manque d'espace de stockage disponible. Par conséquent, si un nœud de données manque d'espace de stockage inutilisé, alors le cluster bloque toutes les opérations d'écriture. Pour plus d'informations sur les problèmes liés à l'espace de stockage, consultez Comment résoudre le faible espace de stockage dans mon domaine Amazon OpenSearch Service ?

Mettre à jour votre stratégie de partitionnement

Par défaut, Amazon OpenSearch Service a une stratégie de partitionnement de 5:1, où chaque index est divisé en cinq partitions principales. Dans chaque index, chaque partition principale a également son propre réplica. OpenSearch Service attribue automatiquement des partitions principales et des partitions de réplica à des nœuds de données distincts, et veille à ce qu'il y ait une sauvegarde en cas d'échec.

Pour modifier le comportement par défaut d'OpenSearch Service, concevez vos index de manière à ce que les partitions soient réparties de manière égale par taille :

  • Pour les index existants, utilisez l'API de réindexation pour modifier le nombre de partitions principales. L'API _reindex peut être utilisée pour fusionner des index plus petits en un index plus grand ou pour fractionner l'index plus grand. Lorsque l'index le plus grand est divisé en plusieurs partitions principales, la taille des partitions est réduite.
  • Pour les nouveaux index, utilisez l'API de modèle d'index pour définir le nombre de partitions principales et de réplica.

Mettez ensuite à jour les paramètres d'index pour vos partitions. Pour plus d'informations, consultez Mettre à jour l'API des paramètres des index sur le site web d'Elasticsearch.

Supprimez des index anciens ou inutilisés pour libérer de l'espace sur le disque

OpenSearch Service ou Elasticsearch version 6.8 ou ultérieure prennent en charge l'ISM. Avec ISM, vous pouvez définir des politiques de gestion personnalisées de sorte que les index anciens ou inutilisés soient supprimés après une durée déterminée.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?