當您將工作提交至 Amazon EMR叢集時取消步驟 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

當您將工作提交至 Amazon EMR叢集時取消步驟

當您將工作提交至叢集時EMR,您可以從 AWS CLI、 AWS Management Console或 Amazon 取消待定和執行的步驟。API。

Console
使用主控台取消步驟
  1. 登入 AWS Management Console,然後在 https://console.aws.amazon.com/emr 開啟 Amazon EMR主控台。

  2. 在左側導覽窗格中的 EMR EC2下,選擇叢集 ,然後選擇您要更新的叢集。

  3. 在叢集詳細資訊頁面的步驟索引標籤中,選取您要取消之步驟旁邊的核取方塊。選擇動作下拉式功能表,然後選取取消步驟

  4. 取消步驟對話方塊中,選擇取消步驟並等待其結束,或取消步驟並強制其結束。然後選擇 Confirm (確認)。

  5. 步驟資料表中的步驟狀態會變為 CANCELLED

CLI
使用 取消 與 。 AWS CLI
  • 使用 aws emr cancel-steps 命令,指定要取消的叢集和步驟。以下範例示範取消兩個步驟的 AWS CLI 命令。

    aws emr cancel-steps --cluster-id j-2QUAXXXXXXXXX \ --step-ids s-3M8DXXXXXXXXX s-3M8DXXXXXXXXX \ --step-cancellation-option SEND_INTERRUPT

使用 Amazon 5.28.0 EMR版,您可以在取消步驟時為 StepCancellationOption 參數選擇下列兩個取消選項之一。

  • SEND_INTERRUPT – 此為預設選項。收到步驟取消請求時, 會將SIGTERM訊號EMR傳送至步驟。 將SIGTERM訊號處理常式新增至您的步驟邏輯,以擷取此訊號並終止子步驟程序或等待其完成。

  • TERMINATE_PROCESS – 選取此選項時, 會將SIGKILL訊號EMR傳送至步驟及其所有子程序,這些程序會立即終止它們。

取消步驟的考量
  • 取消執行中或待定的步驟會從作用中的步驟計數中移除該步驟。

  • 如果 stepConcurrencyLevel 沒有變更,則取消執行中的步驟不允許待定步驟開始執行。

  • 取消執行中的步驟並不會觸發步驟 ActionOnFailure

  • 對於 EMR 5.32.0 和更新版本, 會將SIGTERM訊號SEND_INTERRUPT StepCancellationOption傳送至步驟子程序。您應該注意此訊號,並正常進行清理和關閉。TERMINATE_PROCESS StepCancellationOption 會將 SIGKILL 訊號傳送至步驟子程序及其所有子代程序;不過,非同步程序不受影響。