全部產品
Search
文件中心

DataWorks:情境:註冊跨帳號的EMR叢集

更新時間:Dec 06, 2024

支援您跨阿里雲帳號註冊EMR叢集。該操作必須通過RAM角色訪問的方式執行。本文為您介紹,如何使用RAM角色訪問方式,讓阿里雲帳號A可以在DataWorks中註冊阿里雲帳號B的EMR叢集,實現跨帳號訪問EMR資料。

前提條件

  • 已建立阿里雲主帳號A、阿里雲主帳號B。建立帳號,詳情請參見註冊帳號

    • 阿里雲主帳號A:在DataWorks中註冊帳號B的EMR叢集。

    • 阿里雲主帳號B:EMR叢集提供者。

  • 阿里雲主帳號B已建立EMR叢集。建立EMR叢集,詳情請參見建立叢集

注意事項

  • 僅支援跨帳號綁定未使用DLF管理中繼資料的Hadoop叢集。

  • 不支援Kerberos認證。

  • Spark僅支援SQL任務的表血緣,不支援欄位血緣。

帳號B側:建立RAM角色並允許帳號A訪問

帳號B擁有訪問雲資源EMR的RAM角色,帳號B允許帳號A來扮演該角色,讓帳號A能夠訪問帳號B下的雲資源EMR。

  1. 建立RAM角色。

    使用阿里雲帳號B登入RAM控制台,建立RAM角色並添加帳號A為該角色信任的雲帳號,後續可使用帳號A扮演該角色訪問相關被授權的資源。建立角色,詳情請參見建立可信實體為阿里雲帳號的RAM角色

    image.png

    角色關鍵配置樣本如下:

    • 角色名稱為:EMRRole

    • 信任的雲帳號選擇其他帳號:此處填寫的是帳號A的帳號ID。您可使用目標帳號(帳號A)登入控制台,滑鼠移至上方至頂部功能表列的帳戶圖片,擷取帳號ID。

    配置完成後,帳號A後續即可扮演EMRRole角色,訪問相關被授權的資源。

  2. 修改角色信任策略。

    您需進入EMRRole角色詳情頁,修改角色信任策略,授權帳號A可訪問當前帳號B的EMR叢集。修改角色的信任策略,詳情請參見修改RAM角色的信任策略。策略內容如下。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "san******@emr.dataworks.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
    說明

    san******@emr.dataworks.aliyuncs.com:需要授權的主賬戶A的uid。

  3. EMRRole新增AliyunDataWorksAccessingEMRReadOnlyPolicy許可權。

    image.png

帳號A側:註冊帳號B的叢集

說明

在本步驟,您將在帳號A的DataWorks空間註冊帳號B的emr叢集。實現叢集的跨帳號註冊。因此,執行本步驟前,您需提前從帳號B處擷取UID。

  1. 登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的更多 > 管理中心,在下拉框中選擇對應工作空間後單擊進入管理中心

  2. 單擊左側導覽列的叢集管理,進入叢集管理頁面 ,單擊註冊叢集按鈕,選擇註冊叢集類型E-MapReduce。進入註冊E-MapReduce叢集頁面。

  3. 配置叢集資訊。

    1. 配置基本資料。

      根據介面提示,配置如下資訊。標準模式工作空間,需分別註冊開發環境叢集和生產環境叢集。工作空間模式,詳情請參見必讀:簡單模式和標準模式的區別

      image

      關鍵參數配置如下:

      • 對方帳號的UID:跨帳號註冊叢集的帳號UID。即帳號B的UID,需從帳號B處擷取。

      • 對方RAM角色:允許對方帳號訪問本帳號資源的角色。即本文已建立的角色EMRRole

      • 對方EMR叢集:選擇需要註冊至DataWorks的EMR叢集,此處僅可選擇版本為3.38.3或3.38.2且未使用DLF管理中繼資料的Hadoop叢集。

      更多註冊叢集的配置詳情,請參見註冊EMR叢集至DataWorks

    2. 配置資源群組初始化。

      初次註冊叢集、叢集服務配置變更組件版本升級(例如:修改core-site.xml)請初始化資源群組,確保資源群組可正常訪問EMR,資源群組當前環境配置可正常執行EMR任務。

      說明
      • DataWorks支援使用Serverless資源群組(推薦)或舊版獨享調度資源群組運行EMR任務,所以此處支援選擇Serverless資源群組或舊版獨享調度資源群組進行資源群組初始化操作。

      • 資源群組初始化可能導致正在啟動並執行任務失敗。非必要情境(例如,叢集配置變更,需要立即重新初始化資源群組,否則會導致大量任務運行失敗),建議在業務低峰期對資源群組執行初始化操作。

後續步驟

叢集建立後,您可執行如下操作:

  • 設定叢集身份映射:當EMR叢集預設訪問身份非Hadoop帳號時,您需要配置叢集身份映射,控制操作DataWorks的RAM使用者在DataWorks僅可訪問其有許可權的資源,實現許可權管控。

  • 基於該叢集進行Data Integration同步操作。詳情請參見Data Integration概述

  • 進入營運中心、資料地圖,查看叢集的更多詳細資料。詳情請參見營運中心概述資料地圖概述