文档

场景:注册跨账号的EMR集群

更新时间:

支持您跨阿里云账号注册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": [
              "需要授权的主账户A的uid@emr.dataworks.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
  3. EMRRole新增AliyunDataWorksAccessingEMRReadOnlyPolicy权限。

    image.png

账号A侧:注册账号B的集群

说明

在本步骤,您将在账号A的DataWorks空间注册账号B的emr集群。实现集群的跨账号注册。因此,执行本步骤前,您需提前从账号B处获取UID。

  1. 进入管理中心页面。

    登录DataWorks控制台,单击左侧导航栏的管理中心,在下拉框中选择对应工作空间后单击进入管理中心

  2. 单击左侧导航栏的开源集群 > 注册集群 > E-MapReduce ,进入集群注册页面。

  3. 配置集群信息。

    1. 配置基本信息。

      根据界面提示,配置如下信息。标准模式工作空间,需分别注册开发环境集群和生产环境集群。工作空间模式,详情请参见必读:简单模式和标准模式的区别

      image.png

      关键参数配置如下:

      • 对方账号的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仅支持使用独享调度资源组运行EMR任务,所以此处仅支持选择独享调度资源组进行资源组初始化操作。

      • 资源组初始化可能导致正在运行的任务失败。非必要场景(例如,集群配置变更,需要立即重新初始化资源组,否则会导致大量任务运行失败),建议在业务低峰期对资源组执行初始化操作。

后续步骤

集群创建后,您可执行如下操作:

  • 设置集群身份映射:当EMR集群默认访问身份非Hadoop账号时,您需要配置集群身份映射,控制操作DataWorks的RAM用户在DataWorks仅可访问其有权限的资源,实现权限管控。

  • 基于该集群进行数据集成同步操作。详情请参见数据集成概述

  • 进入运维中心、数据地图,查看集群的更多详细信息。详情请参见运维中心概述数据地图概述

  • 本页导读 (1)