我如何在 Amazon EMR 中运行监控脚本时防止发生“超出速率”ThrottlingException 错误?
上次更新日期:2022 年 11 月 1 日
为了监控我的 Amazon EMR 集群,我运行了将调用 API 的脚本。脚本会返回类似于以下内容的错误:
“超出速率(服务:AmazonElasticMapReduce;状态代码:400;错误代码:ThrottlingException;请求 ID:e2b6191c-gkl5-269r-u735-cryyz251a837)”
如何防止“超出速率”错误?
简短描述
Amazon EMR 会限制 API 调用以确保系统稳定。限制异常通常会在您定期运行监控脚本以检查群集中的参数时发生。举个例子,每 60 秒调用一次 DescribeCluster 以检查集群是否已达到“等待”状态。您的集群越多,运行的监控脚本越多,发生限制错误的可能性就越高。
解决方法
如要防止出现限制错误,请执行如下操作:
要了解限制错误的来源,请使用 AWS CloudTrail 来跟踪事件历史记录。CloudTrail 可以帮助识别事件详细信息,如下所示:
- 频繁的 API 调用
- “超出速率“错误及其相关的 API 调用
- API 调用是由用户触发还是由自动化触发