DataWorks支持基于EMR(E-MapReduce)计算引擎创建Hive、MR、Presto和Spark SQL等节点,实现EMR任务工作流的配置、定时调度和元数据管理等功能,帮助EMR用户更好地生产数据。在创建EMR节点进行数据开发等操作前,您需要先绑定EMR引擎到DataWorks的工作空间,本文为您介绍绑定EMR引擎的操作详情。

DataWorks为您提供快捷模式安全模式两种绑定EMR引擎的模式,以实现不同类型的企业、安全要求场景。您可以基于快捷模式快速开展各类数据的工作,并可以基于安全模式实现更具安全性的数据权限管理。

使用限制

DataWorks不支持新绑定Hadoop集群,但之前已绑定的Hadoop集群仍可继续使用。建议您在DataWorks绑定DataLake(新版数据湖)进行EMR作业开发。详情请参见DataWorks On EMR开发流程(必读)

快捷模式

当EMR计算引擎的绑定模式为快捷模式时,阿里云主账号或RAM用户在DataWorks运行代码或自动调度任务,都只是下发代码至EMR集群,实际运行的身份为集群内的Hadoop用户。
注意
  • 该Hadoop用户拥有Hadoop集群的所有权限,请谨慎授权。
  • 快捷模式下,为保证工作空间成员可以在DataStudio内正常运行EMR类的任务,请确保开发、管理员等相关角色拥有AliyunEMRDevelopAccess权限策略。
    • 如果您使用阿里云主账号运行任务,该账号天然拥有AliyunEMRDevelopAccess权限策略。
    • 如果您使用RAM用户运行任务,则需要授予该用户AliyunEMRDevelopAccess权限策略,详情请参见为RAM用户授权
快捷模式适用于对任务执行者数据权限无强管控要求的工作空间。快捷模式
快捷模式新增EMR集群:
  1. 进入工作空间配置页面:
    1. 登录DataWorks控制台
    2. 在左侧导航栏,单击工作空间列表
    3. 选择工作空间所在地域后,单击相应工作空间后的工作空间配置。在工作空间配置对话框中,单击更多设置,进入工作空间配置页面。更多设置
      您也可以单击相应工作空间后的进入数据开发。在数据开发页面,单击右上方的工作空间管理图标,进入工作空间配置页面。工作空间配置
  2. 计算引擎信息区域,单击E-MapReduce
  3. E-MapReduce页签下,单击增加实例
  4. 新增EMR集群对话框中,配置各项参数。
    DataWorks简单模式和标准模式工作空间的配置不同。DataWorks标准模式的工作空间需要分别配置生产环境和开发环境的参数。标准模式
    参数 描述
    实例显示名称 自定义实例的名称。
    地域 当前工作空间所在的地域,不可以修改。
    访问模式 从下拉列表中选择快捷模式
    调度访问身份 当提交任务至调度系统后,DataWorks调度系统自动运行任务时,提交代码至EMR集群的身份。您可以选择阿里云主账号阿里云子账号
    说明
    • 仅生产环境涉及配置该参数。
    • 快捷模式下,为保证工作空间成员可以在DataStudio内正常运行EMR类的任务,请确保开发、管理员等相关角色拥有AliyunEMRDevelopAccess权限策略。
      • 如果您使用阿里云主账号运行任务,该账号天然拥有AliyunEMRDevelopAccess权限策略。
      • 如果您使用RAM用户运行任务,则需要授予该用户AliyunEMRDevelopAccess权限策略,详情请参见为RAM用户授权
    访问身份 在开发环境运行任务时,提交代码至EMR引擎所使用的身份。此处默认为任务执行者
    说明
    • 仅DataWorks标准模式的工作空间会显示该参数,并且仅开发环境涉及配置该参数。
    • 任务执行者可以为阿里云主账号或RAM用户。
      快捷模式下,为保证工作空间成员可以在DataStudio内正常运行EMR类的任务,请确保开发、管理员等相关角色拥有AliyunEMRDevelopAccess权限策略。
      • 如果您使用阿里云主账号运行任务,该账号天然拥有AliyunEMRDevelopAccess权限策略。
      • 如果您使用RAM用户运行任务,则需要授予该用户AliyunEMRDevelopAccess权限策略,详情请参见为RAM用户授权
    集群ID 从下拉列表中选择调度访问身份账户所在的EMR集群,作为任务的运行环境。
    项目ID 从下拉列表中选择调度访问身份账户所在的EMR项目,作为任务的运行环境。
    说明 如果EMR项目开启访问模式安全模式,则无法被选择。
    YARN资源队列 当前集群下的队列名称。如果无特殊需求,请输入default
    默认作业提交节点 选择EMR作业通过什么节点提交至EMR集群中。如果您的EMR集群关联了Gateway集群,此处可选择关联的Gateway集群,其他场景可选择默认的HEADER
    说明 此处选择默认作业提交节点为Gateway集群后,后续此EMR引擎空间下的所有EMR节点默认通过Gateway集群提交作业,如果某个节点不需要通过Gateway集群提交作业,您可以在节点的高级配置中,手动添加并设置USE_GATEWAY参数为False,详情可参见各EMR节点的高级参数配置帮助文档内容。
    Endpoint EMR的Endpoint,不可以修改。
  5. 选择资源组。
    1. 选择已与当前DataWorks工作空间配置网络连通性的独享调度资源组。如果您没有可用的独享调度资源组,则需要新建。新建独享调度资源组并配置网络连通性,详情请参见新增和使用独享调度资源组
    2. 单击测试连通性,验证独享调度资源组与E-MapReduce引擎的网络连通性。
  6. 单击确定

安全模式

当EMR计算引擎的绑定模式为安全模式时,阿里云主账号或RAM用户在下发代码的同时,EMR集群内会匹配对应的同名用户来运行任务。管理者可以使用EMR集群内的Ranger组件对每个用户进行权限管控,最终实现不同阿里云主账号、任务责任人或RAM用户在DataWorks上运行EMR任务时,拥有对应不同数据权限的目的,进行更安全的数据权限隔离。
说明
安全模式下,为保证工作空间成员可以在DataStudio内正常运行EMR类的任务,请确保开发、管理员等相关角色已被加入EMR集群的LDAP内,并拥有AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略,以及其他相关的数据权限,以避免任务执行失败。
  • 如果您使用阿里云主账号运行任务,该账号天然存在目标EMR集群的LDAP中,并拥有AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略。
  • 如果您使用RAM用户运行任务,则需要添加该用户至目标EMR集群的LDAP中,详情请参见下文中的导入阿里云RAM用户至EMR LDAP操作。同时,需要授予该用户AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略,详情请参见为RAM用户授权
安全模式适用于对任务执行者有数据权限管控隔离要求的工作空间。安全模式
安全模式新增EMR集群:
  1. 开启EMR项目的安全模式。
    1. 登录EMR管理控制台
    2. 在顶部菜单栏,单击数据开发
    3. 项目列表页面,单击相应项目后的作业编辑
    4. 在顶部菜单栏,单击项目管理
    5. 在左侧导航栏,单击通用配置,开启安全模式开启
  2. 导入阿里云RAM用户至EMR LDAP。
    1. EMR管理控制台的顶部菜单栏,单击集群管理
    2. 单击相应集群后的详情
    3. 在左侧导航栏,单击用户管理
    4. 用户管理页面,单击添加用户
    5. 添加用户对话框中,配置各项参数,添加涉及的阿里云RAM用户至EMR集群LDAP中。
      建议添加如下用途的阿里云RAM用户至EMR LDAP:
      • 有可能在DataStudio创建EMR类任务、测试运行的相关人员。
      • 有可能在DataStudio创建、提交和发布EMR类任务的相关人员。
    6. 单击确定
  3. 配置EMR Ranger,并对阿里云账号对应的Hadoop用户进行权限管控。详情请参见Ranger Usersync集成LDAP组件集成Ranger
  4. 增加EMR实例。
    1. 进入DataWorks工作空间配置页面。
    2. 计算引擎信息区域,单击E-MapReduce
    3. E-MapReduce页签下,单击增加实例
    4. 新增EMR集群对话框中,配置各项参数。
      DataWorks简单模式和标准模式工作空间的配置不同。DataWorks标准模式的工作空间需要分别配置生产环境和开发环境的参数。安全模式
      参数 描述
      实例显示名称 自定义实例的名称。
      地域 当前工作空间所在的地域。
      访问模式 从下拉列表中选择安全模式,并在请注意对话框中,单击确定
      说明 一个引擎实例在同一时间仅能使用一种访问模式,修改访问模式会引起访问身份权限变化,请谨慎操作。
      调度访问身份 当任务被提交、发布至生产环境后,DataWorks调度系统自动运行任务时,提交代码至EMR集群的身份,同时该身份对应的Hadoop用户将实际运行代码。
      您可以选择任务责任人阿里云主账号阿里云子账号
      • 任务责任人:任务调度运行时,以责任人身份提交并运行代码。该项为安全模式的核心功能,用于隔离用户间的数据权限。任务责任人可以为阿里云主账号或RAM用户。
      • 阿里云主账号:任务调度运行时,以阿里云主账号作为调度身份,提交代码至EMR集群的身份。
      • 阿里云子账号:任务调度运行时,以某个单一的阿里云RAM用户作为调度身份,提交代码至EMR集群的身份。
      说明
      • 仅生产环境涉及配置该参数。
      • 如果您使用阿里云主账号运行任务,该账号天然存在目标EMR集群的LDAP中,并拥有AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略。
      • 如果您使用RAM用户运行任务,则需要添加该用户至目标EMR集群的LDAP中,详情请参见下文中的导入阿里云RAM用户至EMR LDAP操作。同时,需要授予该用户AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略,详情请参见为RAM用户授权
      访问身份 在开发环境运行任务时,提交代码至EMR引擎所使用的身份。此处默认为任务执行者,同时执行者对应的Hadoop用户将实际运行代码。
      说明
      • 仅DataWorks标准模式的工作空间显示该参数,并且仅开发环境涉及配置该参数。
      • 请确保该类执行者已被加入至EMR集群LDAP中,并被授予AliyunEMRDevelopAccessAliyunEMRFulAccess权限策略,以及其他相关的数据权限,以避免任务执行失败。任务执行者可以为阿里云主账号或RAM用户。
        • 如果您使用阿里云主账号运行任务,该账号天然存在目标EMR集群的LDAP中,并拥有AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略。
        • 如果您使用RAM用户运行任务,则需要添加该用户至目标EMR集群的LDAP中,详情请参见下文中的导入阿里云RAM用户至EMR LDAP操作。同时,需要授予该用户AliyunEMRDevelopAccessAliyunEMRFullAccess权限策略,详情请参见为RAM用户授权
      集群ID 从下拉列表中选择已开启安全模式的EMR项目调度访问身份账户所在的EMR集群,作为任务的运行环境。
      项目ID 从下拉列表中选择已开启安全模式的EMR项目。
      说明 如果EMR项目未开启访问模式安全模式,则无法被选择。
      YARN资源队列 当前集群下的队列名称。如果无特殊需求,请输入default
      默认作业提交节点 选择EMR作业通过什么节点提交至EMR集群中。如果您的EMR集群关联了Gateway集群,此处可选择关联的Gateway集群,其他场景可选择默认的HEADER
      说明 此处选择默认作业提交节点为Gateway集群后,后续此EMR引擎空间下的所有EMR节点默认通过Gateway集群提交作业,如果某个节点不需要通过Gateway集群提交作业,您可以在节点的高级配置中,手动添加并设置USE_GATEWAY参数为False,详情可参见各EMR节点的高级参数配置帮助文档内容。
      Endpoint EMR的Endpoint,不可以修改。
    5. 选择资源组。
      1. 选择已与当前DataWorks工作空间配置网络连通性的独享调度资源组。如果您没有可用的独享调度资源组,则需要新建。新建独享调度资源组并配置网络连通性,详情请参见新增和使用独享调度资源组
      2. 单击测试连通性,验证独享调度资源组与E-MapReduce引擎的网络连通性。
    6. 单击确定
  5. 配置访问身份的映射关系。

    成功添加安全模式的E-MapReduce引擎实例后,后续实际执行实例任务时,使用的是EMR集群配置的访问身份对应的OPEN LDAP集群账号,您需要进入EMR集群配置页面,配置访问身份的映射关系。

    1. 成功添加E-MapReduce引擎后,在弹出的请注意对话框,单击去配置开发环境去配置生产环境,配置访问身份的映射关系。配置映射关系引导
    2. EMR集群配置页面,单击已绑定的EMR集群右上角的编辑
    3. 编辑EMR集群配置对话框,配置引擎权限映射。配置账号映射关系您可以使用如下两种方式配置引擎权限映射关系:
      • 引用已创建的映射关系:您可以直接引用当前工作空间中已创建的权限映射关系。
      • 创建新的权限映射关系:在配置引擎权限映射区域,选择需要配置映射关系的云账号LDAP账号,并输入LDAP账号账号的密码。
        说明
        • 阿里云主账号或拥有AliyunEMRFullAccess权限策略的RAM用户可以为本工作空间所有成员配置身份映射,其余工作空间成员仅可以为自己配置身份映射。
        • 您可以添加多个云账号LDAP账号的映射关系。DataWorks支持多个云账号映射至同一个LDAP账号
    4. 单击确定,完成创建。