為監控我的 Amazon EMR 叢集,我執行指令碼以進行 API 呼叫。指令碼傳回類似下列內容的錯誤: 「超出請求率(服務: AmazonElasticMapReduce;狀態碼: 400;錯誤代碼: ThrottlingException;請求 ID:e2b6191c-gkl5-269r-u735-cryyz251a837)」如何防止「超出請求率」錯誤?
為了維持系統穩定性,Amazon EMR 會限流 API 呼叫。定期執行監控指令碼以檢查叢集的參數時,通常會發生限流例外。以下是一個例子:每 60 秒調用一次 DescribeCluster,檢查叢集是否已達到「等待」狀態。您擁有的叢集越多,執行的監控指令碼越多,就越有可能發生限流錯誤。
若要防止限流錯誤:
若要了解限流錯誤的來源,請使用 AWS CloudTrail 追蹤事件歷史記錄。CloudTrail 可協助識別事件詳細資料,如下所示:
常見錯誤
管理和監控工作負載中的 API 限流
CloudTrail 如何運作