從現有 EMR Cluster/EMR-S 應用程式建立目標 - Amazon EMR

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

從現有 EMR Cluster/EMR-S 應用程式建立目標

如果您已有執行來源 Spark 版本的 EMR-EC2 叢集,您可以複製它來建立具有相同組態但已更新 EMR 發行版本的新叢集,以在升級程序期間執行驗證步驟。

步驟:

  1. 登入 AWS 管理主控台 並開啟 Amazon EMR 主控台。

  2. 在左側導覽窗格中,選擇 EC2 上的 EMR 下的叢集。

  3. 從叢集清單中:

    • 視需要使用搜尋或篩選條件來尋找叢集。

    • 選取您要複製之叢集旁的核取方塊。

    • 複製選項會出現在清單頂端。選擇複製。

    • 如果叢集已設定步驟,請選擇包含步驟,然後繼續複製步驟和其他叢集設定。

  4. 檢閱從原始叢集複製的新叢集設定。

  5. 將 Amazon EMR 發行版本更新為目標版本。

  6. 作為成本效益的最佳實務,請考慮在設定叢集時啟用自動擴展,以根據工作負載需求自動調整容量。

  7. 當您對組態感到滿意時,請選取建立叢集以啟動新叢集。

  8. 等待叢集達到執行中狀態,並記下叢集 ID。出現驗證更新應用程式提示時,請將此 ID 提供給客服人員。

  9. 如果您想要從頭開始建立新叢集,請參閱 EMR 文件:https://https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html

將 EMR Serverless 應用程式複製到目標版本

無法直接將 EMR Serverless 應用程式複製到具有不同 EMR 發行版本的新應用程式。反之,您可以使用 EMR Serverless SDK/CLI 或 主控台建立新的應用程式,並重複使用現有應用程式中的組態。

以下是一些入門的協助程式 CLI 命令:

aws emr-serverless get-application --application-id XXX > old-config.json cat old-config.json | jq '{ name: (.application.name + "<suffix to differentiate name from old application>"), releaseLabel: "<target EMR release version>", type: .application.type, initialCapacity: .application.initialCapacity, maximumCapacity: .application.maximumCapacity, autoStartConfiguration: .application.autoStartConfiguration, autoStopConfiguration: .application.autoStopConfiguration, tags: .application.tags, architecture: .application.architecture, runtimeConfiguration: .application.runtimeConfiguration, monitoringConfiguration: .application.monitoringConfiguration }' > new-config.json aws emr-serverless create-application --cli-input-json file://new-config.json

注意:確保新應用程式的任務執行角色允許 EMR Serverless 擔任該角色。檢閱角色的信任政策。如果您重複使用舊應用程式中的相同任務執行角色,請更新信任政策以包含新應用程式,如下所示:

#Replace the old application id and new application id in the policy { "Version": "2012-10-17", "Statement": [ { "Sid": "ServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:SourceArn": [ "arn:aws:emr-serverless:us-east-1:<account>:/applications/<old application id>", "arn:aws:emr-serverless:us-east-1:<account>:/applications/<new application id>" ] } } } ] }