Réessayez les requêtes Amazon S3 avec EMRFS - Amazon EMR

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.

Réessayez les requêtes Amazon S3 avec EMRFS

Cette rubrique fournit des informations sur les stratégies de nouvelle tentative que vous pouvez utiliser lorsque vous envoyez des demandes à Amazon S3 avecEMRFS. Lorsque votre taux de demandes augmente, S3 essaie de s'adapter au nouveau taux. Au cours de ce processus, S3 peut limiter les demandes et renvoyer une erreur 503 Slow Down. Pour améliorer le taux de réussite de vos demandes S3, vous pouvez ajuster votre stratégie de réessai en configurant les propriétés dans votre configuration emrfs-site.

Vous pouvez ajuster votre stratégie de réessai de différentes manières.

  • Augmentez la limite maximale de tentatives pour la stratégie de backoff exponentiel par défaut.

  • Activez et configurez la stratégie de réessai additive-augmente/multiplicative-decrease (). AIMD AIMDest pris en charge pour les EMR versions 6.4.0 et ultérieures d'Amazon.

Utiliser la stratégie de backoff exponentiel par défaut

EMRFSUtilise par défaut une stratégie d'interruption exponentielle pour réessayer les requêtes Amazon S3. La limite de EMRFS nouvelles tentatives par défaut est de 15. Pour éviter une erreur S3 503 Slow Down, vous pouvez augmenter le nombre limite de tentatives lorsque vous créez un nouveau cluster, sur un cluster en cours d'exécution ou lors de l'exécution de l'application.

Pour augmenter le nombre limite de tentatives, vous devez modifier la valeur de fs.s3.maxRetries dans votre configuration emrfs-site. L'exemple de configuration suivant définit fs.s3.maxRetries sur une valeur personnalisée de 30.

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.maxRetries": "30" } } ]

Pour plus d'informations sur l'utilisation des objets de configuration, consultez Configuration des applications.

Utiliser la stratégie AIMD de nouvelle tentative

Avec les EMR versions 6.4.0 et ultérieures d'Amazon, EMRFS prend en charge une stratégie de nouvelle tentative alternative basée sur un modèle additive-augmentation/multiplicative-decrease (). AIMD La stratégie AIMD de nouvelle tentative est particulièrement utile lorsque vous travaillez avec de grands EMR clusters Amazon.

AIMDcalcule un taux de demandes personnalisé à l'aide des données relatives aux récentes demandes réussies. Cette stratégie réduit le nombre de demandes limitées et le nombre total de tentatives requises par demande.

Pour activer la stratégie AIMD de nouvelle tentative, vous devez définir la fs.s3.aimd.enabled propriété sur true dans votre emrfs-site configuration, comme dans l'exemple suivant.

[ { "Classification": "emrfs-site", "Properties": { "fs.s3.aimd.enabled": "true" } } ]

Pour plus d'informations sur l'utilisation des objets de configuration, consultez Configuration des applications.

Paramètres de AIMD nouvelle tentative avancés

Vous pouvez configurer les propriétés répertoriées dans le tableau suivant pour affiner le comportement des nouvelles tentatives lorsque vous utilisez la stratégie de AIMD nouvelle tentative. Dans la plupart des cas d'utilisation, nous vous recommandons d'utiliser les valeurs par défaut.

Propriétés avancées AIMD de la stratégie de nouvelle tentative
Propriété Valeur par défaut Description
fs.s3.aimd.increaseIncrement 0.1 Contrôle la rapidité avec laquelle le taux de demandes augmente lorsque des demandes consécutives aboutissent.
fs.s3.aimd.reductionFactor 2 Contrôle la rapidité avec laquelle le taux de demandes diminue lorsqu'Amazon S3 renvoie une réponse 503. Le facteur par défaut de 2 réduit le taux de demandes de moitié.
fs.s3.aimd.minRate 0.1 Définit la limite inférieure du taux de demandes lorsque les demandes sont soumises à une limitation soutenue par S3.
fs.s3.aimd.initialRate 5500 Définit le taux de demande initial, qui change ensuite en fonction des valeurs que vous spécifiez pour fs.s3.aimd.increaseIncrement et fs.s3.aimd.reductionFactor.

Le taux initial est également utilisé pour les GET demandes, et ajusté proportionnellement (3500/5500) pour les demandes. PUT

fs.s3.aimd.adjustWindow 2 Contrôle la fréquence à laquelle le taux de demandes est ajusté, mesuré en nombre de réponses.
fs.s3.aimd.maxAttempts 100 Définit le nombre maximum de tentatives pour essayer une demande.