Riprova le richieste Amazon S3 con EMRFS - 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à.

Riprova le richieste Amazon S3 con EMRFS

Questo argomento fornisce informazioni sulle strategie di nuovo tentativo che è possibile utilizzare per effettuare richieste ad Amazon EMRFS S3 con. Quando il tasso di richiesta aumenta, S3 tenta di dimensionarsi per supportare la nuova tariffa. Durante questo processo, S3 può limitare le richieste e restituire un errore 503 Slow Down. Per migliorare il tasso di successo delle richieste S3, è possibile modificare la strategia di nuovi tentativi impostando le proprietà nella configurazione di emrfs-site

È possibile modificare la strategia di nuovi tentativi nei modi seguenti.

  • Aumentare il limite massimo di tentativi per la strategia di nuovi tentativi con backoff esponenziale predefinita.

  • Abilita e configura la strategia di ripetizione additive-incremente/multiplicative-diminution (). AIMD AIMDè supportato per le EMR versioni di Amazon 6.4.0 e successive.

Usare la strategia di backoff esponenziale predefinita

Per impostazione predefinita, EMRFS utilizza una strategia di backoff esponenziale per ritentare le richieste Amazon S3. Il limite di tentativi predefinito è 15EMRFS. Per evitare un errore 503 Slow Down di S3 è possibile aumentare il limite di nuovi tentativi quando si crea un nuovo cluster, in un cluster in esecuzione o in fase di runtime dell'applicazione.

Per aumentare il limite di nuovi tentativi è necessario modificare il valore di fs.s3.maxRetries nella propria configurazione emrfs-site. I seguenti set di configurazione di esempio impostano fs.s3.maxRetries a un valore personalizzato pari a 30.

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

Per ulteriori informazioni sull'utilizzo degli oggetti di configurazione, consulta Configurazione delle applicazioni.

Usa la strategia dei AIMD nuovi tentativi

Con Amazon EMR versione 6.4.0 e successive, EMRFS supporta una strategia di riprova alternativa basata su un modello additive-incremente/moltiplicative-diminution (). AIMD La strategia AIMD di riprova è particolarmente utile quando lavori con EMR cluster Amazon di grandi dimensioni.

AIMDcalcola una frequenza di richieste personalizzata utilizzando i dati sulle richieste recenti riuscite. Questa strategia riduce il numero di richieste limitate e i tentativi totali richiesti per ciascuna richiesta.

Per abilitare la strategia AIMD Retry, è necessario impostare la fs.s3.aimd.enabled proprietà su true nella emrfs-site configurazione, come nell'esempio seguente.

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

Per ulteriori informazioni sull'utilizzo degli oggetti di configurazione, consulta Configurazione delle applicazioni.

Impostazioni avanzate per i AIMD nuovi tentativi

È possibile configurare le proprietà elencate nella tabella seguente per perfezionare il comportamento dei nuovi tentativi quando si utilizza la AIMD strategia dei nuovi tentativi. Per la maggior parte dei casi d'uso, si consiglia di utilizzare i valori predefiniti.

Proprietà avanzate AIMD della strategia di nuovo tentativo
Proprietà Valore predefinito Descrizione
fs.s3.aimd.increaseIncrement 0.1 Controlla la rapidità con cui il tasso di richiesta aumenta quando le richieste consecutive hanno esito positivo.
fs.s3.aimd.reductionFactor 2 Controlla la rapidità con cui il tasso di richiesta diminuisce quando Amazon S3 restituisce una risposta 503. Il fattore predefinito di 2 riduce a metà il tasso di richiesta.
fs.s3.aimd.minRate 0.1 Imposta il limite inferiore per il tasso di richiesta quando le richieste subiscono una limitazione sostenuta da S3.
fs.s3.aimd.initialRate 5500 Imposta il tasso di richiesta iniziale, che cambia in base ai valori specificati per fs.s3.aimd.increaseIncrement e fs.s3.aimd.reductionFactor.

La tariffa iniziale viene utilizzata anche per GET le richieste e scalata proporzionalmente (3500/5500) per le richieste. PUT

fs.s3.aimd.adjustWindow 2 Controlla la frequenza di adeguamento del tasso di richiesta, misurato in numero di risposte.
fs.s3.aimd.maxAttempts 100 Imposta il numero massimo di tentativi di provare una richiesta.