在 Amazon EMR 中執行監控指令碼時,如何防止「超出請求率」ThrottlingException 錯誤?

1 分的閱讀內容
0

為監控我的 Amazon EMR 叢集,我執行指令碼以進行 API 呼叫。指令碼傳回類似下列內容的錯誤: 「超出請求率(服務: AmazonElasticMapReduce;狀態碼: 400;錯誤代碼: ThrottlingException;請求 ID:e2b6191c-gkl5-269r-u735-cryyz251a837)」如何防止「超出請求率」錯誤?

簡短描述

為了維持系統穩定性,Amazon EMR 會限流 API 呼叫。定期執行監控指令碼以檢查叢集的參數時,通常會發生限流例外。以下是一個例子:每 60 秒調用一次 DescribeCluster,檢查叢集是否已達到「等待」狀態。您擁有的叢集越多,執行的監控指令碼越多,就越有可能發生限流錯誤。

解決方法

若要防止限流錯誤:

若要了解限流錯誤的來源,請使用 AWS CloudTrail 追蹤事件歷史記錄CloudTrail 可協助識別事件詳細資料,如下所示:

  • 頻繁的 API 呼叫
  • 超出請求率錯誤及其相關 API 呼叫
  • API 呼叫是由使用者觸發還是自動化觸發

相關資訊

常見錯誤

管理和監控工作負載中的 API 限流

CloudTrail 如何運作

AWS 官方
AWS 官方已更新 1 年前