我如何在 Amazon EMR 中运行监控脚本时防止发生“超出速率”ThrottlingException 错误?

上次更新日期:2020 年 10 月 7 日

为了监控我的 Amazon EMR 集群,我运行了将调用 API 的脚本。脚本返回下面这样的错误:

“超出速率(服务:AmazonElasticMapReduce;状态代码:400;错误代码:ThrottlingException;请求 ID:e2b6191c-gkl5-269r-u735-cryyz251a837)”

简短描述

Amazon EMR 会限制 API 调用以确保系统稳定。限制异常通常会在您定期运行监控脚本以检查群集中的参数时发生。举个例子,每 60 秒调用一次 DescribeCluster 以检查集群是否已达到“等待”状态。您的集群越多,运行的监控脚本越多,发生限制错误的可能性就越高。

解决方法

如要防止出现限制错误,请执行如下操作:

  • 减少 API 调用的频率。
  • 打散 API 调用的间隔时间,不要让它们全部都同时运行。
  • 在进行 API 调用时执行指数退避

这篇文章对您有帮助吗?


您是否需要账单或技术支持?