從 SageMaker 工作室或工作室經典 Connect 到 Amazon EMR 集群 - Amazon SageMaker

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

從 SageMaker 工作室或工作室經典 Connect 到 Amazon EMR 集群

資料科學家和資料工程師可以直接從 Studio 使用者介面探索 Amazon EMR 叢集,然後連線到 Amazon 叢集。在開始之前,請確定您已依照步驟 4:設定許可以從 Studio 啟用列出和啟動 Amazon EMR 叢集本節所述設定必要的權限。這些權限授與 Studio 建立、啟動、檢視、存取和終止叢集的能力。

您可以直接從 Studio UI 將 Amazon EMR 叢集連接到新的 JupyterLab 筆記本,或選擇在執行中 JupyterLab 應用程式的筆記本中啟動連線。

重要

您只能探索並連線到 Amazon EMR 叢集,以 JupyterLab 及從私人空間啟動的工作室傳統應用程式。確保 Amazon EMR 叢集位於同一個叢集 AWS 地區作為您的工作室環境。您的 JupyterLab 空間必須使用發 SageMaker 佈映像版本1.10或更高版本。

使用工作室使用者介面 Connect 到 Amazon EMR 叢集

若要使用 Studio 或 Studio 典型使用者介面連線到叢集,您可以從中存取的叢集清單從工作室或工作室經典列出 Amazon EMR 集群,或從 SageMaker 工作室或工作室傳統中的筆記本啟動連線。

若要從 Studio 使用者介面將 Amazon EMR 叢集連接到新的 JupyterLab 筆記本:
  1. 在 Studio UI 的左側面板中,選取左側導覽功能表中的 [資料] 節點。向下瀏覽至 Amazon EMR 應用程式和叢集。這將打開一個頁面,列出您可以在 Amazon EMR 集群選項卡中從工作室訪問的 Amazon EMR 集群

    注意

    如果您或您的管理員已將許可設定為允許跨帳戶存取 Amazon EMR 叢集,則可以檢視已授與 Studio 存取權的所有帳戶的整合叢集清單。

  2. 選取要連接到新筆記本的 Amazon EMR 叢集,然後選擇 [連接至筆記本]。這會開啟顯示 JupyterLab 空間清單的強制回應視窗。

    • 選取您要從中啟動 JupyterLab應用程式的空間,然後選擇 [開啟記事本]。這會從您選擇的空間啟動 JupyterLab 應用程式,並開啟新的筆記本。

      注意

      工作室經典版的用戶需要選擇一個圖像和內核。如需支援的映像清單,請參閱支援的映像檔和核心,可從工作室或工作室傳統版連接到 Amazon EMR 叢集或參閱使用自有映像

    • 或者,您也可以選擇強制回應視窗頂端的建立新空間按鈕來建立新的私人空間。輸入空間的名稱,然後選擇建立空間並開啟記事本。這會建立具有預設執行個體類型和可用的最新 SageMaker 發佈映像的私人空間、啟動 JupyterLab應用程式,並開啟新的筆記本。

  3. 如果您選取的叢集不使用 Kerberos LDAP、或執行階段角色驗證,Studio 會提示您選取認證類型。選擇 Http 基本身分驗證無憑證,然後輸入您的憑證 (如果適用)。

    如果您選取的叢集支援執行時期角色,請選擇 Amazon EMR 叢集在執行任務時可承擔的角色名稱。IAM

    重要

    若要成功將 JupyterLab 筆記本連接到支援執行時期角色的 Amazon EMR 叢集,您必須先將執行階段角色清單與您的網域或使用者設定檔建立關聯,如中所述在 Studio 中為 Amazon EMR 叢集存取設定IAM執行階段角色 。若未完成此步驟,將會導致您無法建立連線。

    選取時,連線命令會植入筆記本的第一個儲存格,並啟動與 Amazon EMR 叢集的連線。

    一旦連接成功,將顯示一則訊息確認連線並啟動 Spark 應用程式。

或者,您也可以從 JupyterLab 或 Studio 傳統筆記本連接到叢集。
  1. 選擇筆記本頂端的 [叢集] 按鈕。這會開啟強制回應視窗,列出 Amazon EMR 叢集處於您可存取的Running狀態。您可以在 Running Amazon EMR 集群選項卡中看到 Amazon EMR 集群

    注意

    對於 Studio 經典版的用戶,群集只有在使用來自支援的映像檔和核心,可從工作室或工作室傳統版連接到 Amazon EMR 叢集或從中使用內核時才可見使用自有映像。如果您在筆記本頂端看不到叢集,請確定您的系統管理員已設定叢集的可探索性,並切換至支援的核心。

  2. 選取要連線的叢集,然後選擇連線

  3. 如果您將 Amazon EMR 叢集設定為支援執行時期IAM角色,則可以從 Amazon EMR 執行角色下拉式功能表中選取您的角色。

    重要

    若要成功將 JupyterLab 筆記本連接到支援執行時期角色的 Amazon EMR 叢集,您必須先將執行階段角色清單與您的網域或使用者設定檔建立關聯,如中所述在 Studio 中為 Amazon EMR 叢集存取設定IAM執行階段角色 。若未完成此步驟,將會導致您無法建立連線。

    否則,如果您選擇的叢集不使用 Kerberos LDAP、或執行階段角色驗證,則 Studio 或 Studio 傳統版會提示您選取認證類型。您可以選擇「HTTP基本驗證」或「無認證」。

  4. Studio 添加,然後運行一個代碼塊到活動單元建立連接。此儲存格包含連線魔術指令,可根據您的驗證類型將筆記本連接至應用程式。

    一旦連接成功,將顯示一則訊息確認連線並啟動 Spark 應用程式。

使用連線命令 Connect 到 Amazon EMR 叢集

若要建立與 Amazon EMR 叢集的連線,您可以在筆記本儲存格內執行連線命令。

建立連線時,您可以使用 Kerberos輕量型目錄存取通訊協定 (LDAP)執行時期IAM角色驗證進行驗證。您選擇的驗證方法取決於您的叢集配置。

您可以參考此範例在啟用 Kerberos 的 Amazon EMR 叢集上使用 Network Load Balancer 存取 Apache Livy,以設定使用 Kerberos 身份驗證的 Amazon EMR 叢集。或者,您也可以在 aw sagemaker-studio-emr GitHub s-Samples/ 儲存庫中使用 Kerberos 或LDAP驗證來探索範 CloudFormation 例範本。

如果您的管理員已啟用跨帳戶存取,則無論您的 Studio Classic 應用程式和EMR叢集是否位於同一個帳戶,您都可以從 Studio Classic 筆記本連接到 Amazon 叢集 AWS 帳戶或不同的帳戶。

對於以下每種驗證類型,請使用指定的命令從 Studio 或 Studio Classic 筆記本連接到叢集。

  • Kerberos

    如果您需要跨帳戶 Amazon EMR 訪問,請附加--assumable-role-arn參數。如果您使用連接到群集,請附加--verify-certificate參數HTTPS。

    %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --cluster-id cluster_id \ --auth-type Kerberos --language python [--assumable-role-arn EMR_access_role_ARN ] [--verify-certificate /home/user/certificateKey.pem]
  • LDAP

    如果您需要跨帳戶 Amazon EMR 訪問,請附加--assumable-role-arn參數。如果您使用連接到群集,請附加--verify-certificate參數HTTPS。

    %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --cluster-id cluster_id \ --auth-type Basic_Access --language python [--assumable-role-arn EMR_access_role_ARN ] [--verify-certificate /home/user/certificateKey.pem]
  • NoAuth

    如果您需要跨帳戶 Amazon EMR 訪問,請附加--assumable-role-arn參數。如果您使用連接到群集,請附加--verify-certificate參數HTTPS。

    %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --cluster-id cluster_id \ --auth-type None --language python [--assumable-role-arn EMR_access_role_ARN ] [--verify-certificate /home/user/certificateKey.pem]
  • 運行時IAM角色

    如果您需要跨帳戶 Amazon EMR 訪問,請附加--assumable-role-arn參數。如果您使用連接到群集,請附加--verify-certificate參數HTTPS。

    如需使用執行時期IAM角色連線至 Amazon EMR 叢集的詳細資訊,請參閱在 Studio 中為 Amazon EMR 叢集存取設定IAM執行階段角色

    %load_ext sagemaker_studio_analytics_extension.magics %sm_analytics emr connect --cluster-id cluster_id \ --auth-type Basic_Access \ --emr-execution-role-arn arn:aws:iam::studio_account_id:role/emr-execution-role-name [--assumable-role-arn EMR_access_role_ARN] [--verify-certificate /home/user/certificateKey.pem]

Connect 到 Amazon EMR 集群 HTTPS

如果您已經為 Amazon EMR 群集配置了啟用傳輸加密和 Apache Livy 服務器,HTTPS並希望工作室或工作室經典EMR使用與 Amazon 進行通信HTTPS,則需要配置工作室或工作室經典版來訪問您的證書密鑰。

對於自我簽署或本機憑證授權單位 (CA) 簽署憑證,您可以透過兩個步驟執行此作業:

  1. 使用下列其中PEM一個選項,將憑證檔案下載到本機檔案系統:

  2. 在連線命令的 --verify-certificate 引數中提供憑證路徑,以啟用憑證驗證。

    %sm_analytics emr connect --cluster-id cluster_id \ --verify-certificate /home/user/certificateKey.pem ...

對於公有 CA 發行憑證,請將 --verify-certificate 參數設定為 true 來設定憑證驗證。

或者,您可以將 --verify-certificate 參數設定為 false 來停用憑證驗證。

您可以在中找到 Amazon EMR 叢集的可用連線命令清單使用連線命令 Connect 到 Amazon EMR 叢集