Logica di ripetizione dei tentativi - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Logica di ripetizione dei tentativi

EMRFS tenta di verificare la consistenza degli elenchi per gli oggetti monitorati nei relativi metadati con un determinato numero di tentativi. Il predefinito è 5. In caso di superamento del numero di tentativi consentiti, il processo di origine restituisce un errore a meno che fs.s3.consistent.throwExceptionOnInconsistency non sia impostato su false, nel qual caso registra solo gli oggetti monitorati come inconsistenti. Per impostazione predefinita, EMRFS utilizza una policy per tentativi di backoff esponenziale, ma è anche possibile impostare una policy fissa. È anche possibile che gli utenti preferiscano riprovare per un determinato periodo di tempo prima di procedere con il resto del processo senza generare un'eccezione. A questo proposito, è necessario impostare fs.s3.consistent.throwExceptionOnInconsistency su false, fs.s3.consistent.retryPolicyType su fixede fs.s3.consistent.retryPeriodSeconds sul valore desiderato. L'esempio seguente crea un cluster con la consistenza attivata, che registra le inconsistenze e imposta un intervallo fisso di 10 secondi tra tentativi:

Esempio Impostazione di un intervallo fisso tra tentativi
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
Nota

I caratteri di continuazione della riga Linux (\) sono inclusi per la leggibilità. Possono essere rimossi o utilizzati nei comandi Linux. Per Windows, rimuoverli o sostituirli con un accento circonflesso (^).

Per ulteriori informazioni, consulta Visualizzazione coerente.

Le configurazioni EMRFS per IMDS ricevono chiamate regionali

EMRFS si affida all'IMDS (Instance Metadata Service) per ottenere la regione dell'istanza e Amazon S3, DynamoDB o gli endpoint. AWS KMS Tuttavia, IMDS ha un limite al numero di richieste che può gestire e le richieste che superano tale limite falliranno. Questo limite IMDS può causare l'inizializzazione di fallimenti EMRFS e causare il fallimento della query o del comando. È possibile utilizzare il seguente meccanismo di riprova di backoff esponenziale randomizzato e le proprietà di configurazione di una Regione di fallback in emrfs-site.xml per risolvere lo scenario in cui tutti i tentativi falliscono.

<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>