Come posso evitare gli errori di ”frequenza superata” di ThrottlingException quando eseguo script di monitoraggio in Amazon EMR?

2 minuti di lettura
0

Per monitorare i miei cluster Amazon EMR, eseguo script che effettuano chiamate API. Gli script restituiscono errori simili ai seguenti: "Rate exceeded (Service: AmazonElasticMapReduce; Status Code: 400; Error Code: ThrottlingException; Request ID: e2b6191c-gkl5-269r-u735-cryyz251a837)" Come posso prevenire gli errori di “frequenza superata”?

Breve descrizione

Amazon EMR limita le chiamate API per mantenere la stabilità del sistema. Le eccezioni alla limitazione si verificano in genere quando si eseguono script di monitoraggio a intervalli regolari per verificare la presenza di un parametro nei cluster. Di seguito un esempio: chiamata DescribeCluster ogni 60 secondi per verificare se il cluster ha raggiunto lo stato WAITING. Maggiore è il numero di cluster disponibili e maggiore è il numero di script di monitoraggio che esegui, più è probabile che si verifichino errori di limitazione.

Soluzione

Per evitare errori di limitazione:

  • Riduci la frequenza delle chiamate API.
  • Scagliona gli intervalli delle chiamate API in modo che non vengano eseguite tutte contemporaneamente.
  • Implementa un backoff esponenziale durante le chiamate API.
  • Valuta la possibilità di passare a un'architettura basata sugli eventi.

Per comprendere l'origine degli errori di limitazione, usa AWS CloudTrail per tenere traccia della Cronologia degli eventi. CloudTrail consente di identificare i dettagli degli eventi come nei seguenti casi:

  • Chiamate API frequenti
  • Frequenza degli errori superati e relative chiamate API
  • Se le chiamate API vengono attivate dagli utenti o dall'automazione

Informazioni correlate

Errori comuni

Gestione e monitoraggio della limitazione delle API nei carichi di lavoro

Come funziona CloudTrail

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa