Comment empêcher les erreurs ThrottlingException « rate exceeded » (taux dépassé) lorsque j'exécute des scripts de surveillance dans Amazon EMR ?

Dernière mise à jour: 01-11-2022

Pour surveiller mes clusters Amazon EMR, j'exécute des scripts qui lancent des appels API. Les scripts renvoient des erreurs similaires aux suivantes :

« Rate exceeded (Service: AmazonElasticMapReduce; Status Code: 400; Error Code: ThrottlingException; Request ID: e2b6191c-gkl5-269r-u735-cryyz251a837) » (Taux dépassé [Service : AmazonElasticmapReduce ; Code d'état : 400 ; Code d'erreur : ThrottlingException ; ID de la demande : e2b6191c-gkl5-269r-u735-cryyz251a837])

Comment éviter les erreurs « rate exceeded »?

Brève description

Amazon EMR limite les appels API afin de maintenir la stabilité du système. Les exceptions de limitation se produisent généralement lorsque vous exécutez des scripts de surveillance à intervalles réguliers pour vérifier un paramètre des clusters. Voici un exemple : appeler DescribeCluster toutes les 60 secondes pour vérifier si le cluster a atteint l'état WAITING. Plus vous avez de clusters et plus vous exécutez de scripts de monitoring, plus vous serez susceptibles d'avoir des erreurs de limitation.

Résolution

Pour éviter les erreurs de limitation :

Pour comprendre la source des erreurs de limitation, utilisez AWS CloudTrail pour suivre l'historique des événements. CloudTrail peut vous aider à identifier les détails des événements tels que les suivants :

  • Appels API fréquents
  • Taux d'erreurs dépassé et appels d'API associés
  • Si les appels API sont déclenchés par les utilisateurs ou par l'automatisation

Cet article vous a-t-il été utile?


Besoin d'aide pour une question technique ou de facturation ?