Logique des nouvelles tentatives - 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.

Logique des nouvelles tentatives

EMRFS essaie de vérifier la cohérence des listes pour les objets suivis dans ses métadonnées pour un certain nombre de tentatives. La valeur par défaut est 5. Au cas où le nombre de nouvelles tentatives est dépassé, la tâche initiale retourne un échec, à moins que fs.s3.consistent.throwExceptionOnInconsistency ait la valeur false, auquel cas elle consignera uniquement les objets suivis comme incohérents. EMRFS utilise une stratégie de nouvelles tentatives d'interruption exponentielle par défaut, mais vous pouvez également la configurer comme une stratégie fixe. Les utilisateurs peuvent également réessayer pendant un certain temps avant de passer au reste de leur tâche sans lever d'exception. Ils peuvent y parvenir en définissant fs.s3.consistent.throwExceptionOnInconsistency sur false, fs.s3.consistent.retryPolicyType sur fixed et fs.s3.consistent.retryPeriodSeconds sur la valeur de leur choix. L'exemple suivant crée un cluster avec la cohérence activée, qui consigne les incohérences et définit un intervalle fixe de nouvelle tentative de 10 secondes :

Exemple Configuration de la période de nouvelle tentative sur une valeur fixe
aws emr create-cluster --release-label emr-7.1.0 \ --instance-type m5.xlarge --instance-count 1 \ --emrfs Consistent=true,Args=[fs.s3.consistent.throwExceptionOnInconsistency=false, fs.s3.consistent.retryPolicyType=fixed,fs.s3.consistent.retryPeriodSeconds=10] --ec2-attributes KeyName=myKey
Note

Les caractères de continuation de ligne Linux (\) sont inclus pour des raisons de lisibilité. Ils peuvent être supprimés ou utilisés dans les commandes Linux. Pour Windows, supprimez-les ou remplacez-les par un caret (^).

Pour plus d’informations, consultez Vue cohérente.

Les configurations EMRFS pour IMDS reçoivent des appels régionaux

EMRFS s'appuie sur l'IMDS (service de métadonnées d'instance) pour obtenir la région de l'instance et Amazon S3, DynamoDB ou les points de terminaison. AWS KMS Cependant, l'IMDS a une limite quant au nombre de demandes qu'il peut traiter, et les demandes qui dépassent cette limite échoueront. Cette limite IMDS peut entraîner l'échec de l'initialisation d'EMRFS et l'échec de la requête ou de la commande. Vous pouvez utiliser le mécanisme de backoff exponentiel aléatoire suivant et les propriétés de configuration d'une région de secours dans le fichier emrfs-site.xml pour résoudre le scénario dans lequel toutes les tentatives échouent.

<property> <name>fs.s3.region.retryCount</name> <value>3</value> <description> Maximum retries that would be attempted to get AWS region. </description> </property> <property> <name>fs.s3.region.retryPeriodSeconds</name> <value>3</value> <description> Base sleep time in second for each get-region retry. </description> </property> <property> <name>fs.s3.region.fallback</name> <value>us-east-1</value> <description> Fallback to this region after maximum retries for getting AWS region have been reached. </description> </property>