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
Relevante Informationen
Erreurs courantes
Gestion et surveillance de la limitation des API dans vos charges de travail
Fonctionnement de CloudTrail