從 SageMaker Studio 或 Studio Classic 連線至 Amazon EMR叢集 - Amazon SageMaker

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

從 SageMaker Studio 或 Studio Classic 連線至 Amazon EMR叢集

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

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

重要

您只能探索並連線至從私有空間啟動的 JupyterLab 和 Studio Classic 應用程式的 Amazon EMR叢集。確保 Amazon EMR叢集位於與 Studio 環境相同的 AWS 區域。您的 JupyterLab 空間必須使用 SageMaker 分佈映像版本 1.10 或更高版本。

使用 Studio UI 連線至 Amazon EMR叢集

若要使用 Studio 或 Studio Classic UI 連線至叢集,您可以從 中存取的叢集清單從 Studio 或 Studio Classic 列出 Amazon EMR叢集,或從 SageMaker Studio 或 Studio Classic 中的筆記本啟動連線。

若要從 Studio UI 將 Amazon EMR叢集連接至新的 JupyterLab 筆記本:
  1. 在 Studio UI 的左側面板中,選取左側導覽選單中的資料節點。向下導覽至 Amazon EMR 應用程式和叢集 。這會開啟一個頁面,列出您可以在 Amazon EMR叢集索引標籤中從 Studio 存取的 Amazon EMR叢集

    注意

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

  2. 選取您要連線至新筆記本的 Amazon EMR叢集,然後選擇連接至筆記本 。這會開啟一個模式視窗,顯示您的 JupyterLab 空間清單。

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

      注意

      Studio Classic 的使用者需要選取映像和核心。如需支援的映像清單,請參閱支援從 Studio 或 Studio Classic 連線至 Amazon EMR叢集的影像和核心或參閱使用自有映像

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

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

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

    重要

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

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

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

或者,您可以從 JupyterLab 或 Studio Classic 筆記本連線至叢集。
  1. 選擇筆記本頂端的叢集按鈕。這會開啟一個模式視窗,列出處於您可以存取Running狀態的 Amazon EMR叢集。您可以在 Running Amazon EMR叢集索引標籤中查看 Amazon EMR叢集

    注意

    對於 Studio Classic 的使用者,只有在您從 支援從 Studio 或 Studio Classic 連線至 Amazon EMR叢集的影像和核心或從 使用核心時,才會看到叢集使用自有映像。如果您在筆記本頂端看不到叢集,請確定您的系統管理員已設定叢集的可探索性,並切換至支援的核心。

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

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

    重要

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

    否則,如果您選擇的叢集不使用 Kerberos、 LDAP或執行期角色身分驗證,Studio 或 Studio Classic 會提示您選取憑證類型。您可以選擇HTTP基本身分驗證無憑證

  4. Studio 新增程式碼區塊,然後執行到作用中儲存格以建立連線。此儲存格包含連線魔術命令,可根據您的身分驗證類型將筆記本連接至應用程式。

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

使用連線命令連線至 Amazon EMR叢集

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

建立連線時,您可以使用 Kerberos Lightweight Directory Access Protocol (LDAP)執行期IAM角色身分驗證進行身分驗證。您選擇的身分驗證方法取決於叢集組態。

您可以在啟用 Kerberos 的 Amazon EMR叢集上使用 Network Load Balancer 存取 Apache Livy,以設定使用 Kerberos 身分驗證的 Amazon EMR叢集。或者,您可以使用 Kerberos 或 aws-samples/sagemaker-studio-emr GitHub repository 中的LDAP身分驗證來探索 CloudFormation 範例範本。

如果您的管理員已啟用跨帳戶存取,您可以從 Studio Classic 筆記本連線至您的 Amazon EMR叢集,無論您的 Studio Classic 應用程式和叢集位於同一個 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]

透過 連接至 Amazon EMR叢集 HTTPS

如果您已為 設定 Amazon EMR叢集並啟用傳輸加密,且 Apache Livy 伺服器HTTPS希望 Studio 或 Studio Classic EMR使用 與 Amazon 通訊HTTPS,則需要設定 Studio 或 Studio Classic 以存取憑證金鑰。

對於自我簽署或本機憑證授權單位 (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叢集的可用連線命令清單使用連線命令連線至 Amazon EMR叢集