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集群:
- 进入工作空间配置页面:
- 登录DataWorks控制台。
- 在左侧导航栏,单击工作空间列表。
- 选择工作空间所在地域后,单击相应工作空间后的工作空间配置。在工作空间配置对话框中,单击更多设置,进入工作空间配置页面。您也可以单击相应工作空间后的进入数据开发。在数据开发页面,单击右上方的
图标,进入工作空间配置页面。
- 在计算引擎信息区域,单击E-MapReduce。
- 在E-MapReduce页签下,单击增加实例。
- 在新增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,不可以修改。 - 选择资源组。
- 选择已与当前DataWorks工作空间配置网络连通性的独享调度资源组。如果您没有可用的独享调度资源组,则需要新建。新建独享调度资源组并配置网络连通性,详情请参见新增和使用独享调度资源组。
- 单击测试连通性,验证独享调度资源组与E-MapReduce引擎的网络连通性。
- 单击确定。
安全模式
当EMR计算引擎的绑定模式为安全模式时,阿里云主账号或RAM用户在下发代码的同时,EMR集群内会匹配对应的同名用户来运行任务。管理者可以使用EMR集群内的Ranger组件对每个用户进行权限管控,最终实现不同阿里云主账号、任务责任人或RAM用户在DataWorks上运行EMR任务时,拥有对应不同数据权限的目的,进行更安全的数据权限隔离。
说明
在安全模式下,为保证工作空间成员可以在DataStudio内正常运行EMR类的任务,请确保开发、管理员等相关角色已被加入EMR集群的LDAP内,并拥有AliyunEMRDevelopAccess或AliyunEMRFullAccess权限策略,以及其他相关的数据权限,以避免任务执行失败。
- 如果您使用阿里云主账号运行任务,该账号天然存在目标EMR集群的LDAP中,并拥有AliyunEMRDevelopAccess及AliyunEMRFullAccess权限策略。
- 如果您使用RAM用户运行任务,则需要添加该用户至目标EMR集群的LDAP中,详情请参见下文中的《导入阿里云RAM用户至EMR LDAP》操作。同时,需要授予该用户AliyunEMRDevelopAccess或AliyunEMRFullAccess权限策略,详情请参见为RAM用户授权。
安全模式适用于对任务执行者有数据权限管控隔离要求的工作空间。

以安全模式新增EMR集群:
- 开启EMR项目的安全模式。
- 登录EMR管理控制台。
- 在顶部菜单栏,单击数据开发。
- 在项目列表页面,单击相应项目后的作业编辑。
- 在顶部菜单栏,单击项目管理。
- 在左侧导航栏,单击通用配置,开启安全模式。
- 导入阿里云RAM用户至EMR LDAP。
- 在EMR管理控制台的顶部菜单栏,单击集群管理。
- 单击相应集群后的详情。
- 在左侧导航栏,单击用户管理。
- 在用户管理页面,单击添加用户。
- 在添加用户对话框中,配置各项参数,添加涉及的阿里云RAM用户至EMR集群LDAP中。
建议添加如下用途的阿里云RAM用户至EMR LDAP:
- 有可能在DataStudio创建EMR类任务、测试运行的相关人员。
- 有可能在DataStudio创建、提交和发布EMR类任务的相关人员。
- 单击确定。
- 配置EMR Ranger,并对阿里云账号对应的Hadoop用户进行权限管控。详情请参见Ranger Usersync集成LDAP和组件集成Ranger。
- 增加EMR实例。
- 进入DataWorks工作空间配置页面。
- 在计算引擎信息区域,单击E-MapReduce。
- 在E-MapReduce页签下,单击增加实例。
- 在新增EMR集群对话框中,配置各项参数。
DataWorks简单模式和标准模式工作空间的配置不同。DataWorks标准模式的工作空间需要分别配置生产环境和开发环境的参数。
参数 描述 实例显示名称 自定义实例的名称。 地域 当前工作空间所在的地域。 访问模式 从下拉列表中选择安全模式,并在请注意对话框中,单击确定。 说明 一个引擎实例在同一时间仅能使用一种访问模式,修改访问模式会引起访问身份权限变化,请谨慎操作。调度访问身份 当任务被提交、发布至生产环境后,DataWorks调度系统自动运行任务时,提交代码至EMR集群的身份,同时该身份对应的Hadoop用户将实际运行代码。 您可以选择任务责任人、阿里云主账号和阿里云子账号:- 任务责任人:任务调度运行时,以责任人身份提交并运行代码。该项为安全模式的核心功能,用于隔离用户间的数据权限。任务责任人可以为阿里云主账号或RAM用户。
- 阿里云主账号:任务调度运行时,以阿里云主账号作为调度身份,提交代码至EMR集群的身份。
- 阿里云子账号:任务调度运行时,以某个单一的阿里云RAM用户作为调度身份,提交代码至EMR集群的身份。
说明- 仅生产环境涉及配置该参数。
- 如果您使用阿里云主账号运行任务,该账号天然存在目标EMR集群的LDAP中,并拥有AliyunEMRDevelopAccess及AliyunEMRFullAccess权限策略。
- 如果您使用RAM用户运行任务,则需要添加该用户至目标EMR集群的LDAP中,详情请参见下文中的《导入阿里云RAM用户至EMR LDAP》操作。同时,需要授予该用户AliyunEMRDevelopAccess或AliyunEMRFullAccess权限策略,详情请参见为RAM用户授权。
访问身份 在开发环境运行任务时,提交代码至EMR引擎所使用的身份。此处默认为任务执行者,同时执行者对应的Hadoop用户将实际运行代码。 说明- 仅DataWorks标准模式的工作空间显示该参数,并且仅开发环境涉及配置该参数。
-
请确保该类执行者已被加入至EMR集群LDAP中,并被授予AliyunEMRDevelopAccess或AliyunEMRFulAccess权限策略,以及其他相关的数据权限,以避免任务执行失败。任务执行者可以为阿里云主账号或RAM用户。
- 如果您使用阿里云主账号运行任务,该账号天然存在目标EMR集群的LDAP中,并拥有AliyunEMRDevelopAccess及AliyunEMRFullAccess权限策略。
- 如果您使用RAM用户运行任务,则需要添加该用户至目标EMR集群的LDAP中,详情请参见下文中的《导入阿里云RAM用户至EMR LDAP》操作。同时,需要授予该用户AliyunEMRDevelopAccess或AliyunEMRFullAccess权限策略,详情请参见为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,不可以修改。 - 选择资源组。
- 选择已与当前DataWorks工作空间配置网络连通性的独享调度资源组。如果您没有可用的独享调度资源组,则需要新建。新建独享调度资源组并配置网络连通性,详情请参见新增和使用独享调度资源组。
- 单击测试连通性,验证独享调度资源组与E-MapReduce引擎的网络连通性。
- 单击确定。
- 配置访问身份的映射关系。
成功添加安全模式的E-MapReduce引擎实例后,后续实际执行实例任务时,使用的是EMR集群配置的访问身份对应的OPEN LDAP集群账号,您需要进入EMR集群配置页面,配置访问身份的映射关系。
- 成功添加E-MapReduce引擎后,在弹出的请注意对话框,单击去配置开发环境及去配置生产环境,配置访问身份的映射关系。
- 在EMR集群配置页面,单击已绑定的EMR集群右上角的编辑。
- 在编辑EMR集群配置对话框,配置引擎权限映射。
您可以使用如下两种方式配置引擎权限映射关系:
- 引用已创建的映射关系:您可以直接引用当前工作空间中已创建的权限映射关系。
- 创建新的权限映射关系:在配置引擎权限映射区域,选择需要配置映射关系的云账号及LDAP账号,并输入LDAP账号账号的密码。
说明
- 阿里云主账号或拥有AliyunEMRFullAccess权限策略的RAM用户可以为本工作空间所有成员配置身份映射,其余工作空间成员仅可以为自己配置身份映射。
- 您可以添加多个云账号与LDAP账号的映射关系。DataWorks支持多个云账号映射至同一个LDAP账号
- 单击确定,完成创建。
- 成功添加E-MapReduce引擎后,在弹出的请注意对话框,单击去配置开发环境及去配置生产环境,配置访问身份的映射关系。