本文介绍如何在 EMR 中创建自定义拓扑集群,适用于需要按业务需求灵活规划节点组和服务部署的场景,重点说明创建前提、项目与配置流程,以及各服务组件支持的自定义拓扑能力、部署限制和调整规则,帮助您完成集群规划与搭建。
前提条件
- 已注册火山引擎主账号,且完成服务账号的各项云资源访问授权,为 EMR 的服务账号授予名为“ServiceRoleForEMR” 的系统默认策略。
您可通过右上角用户 > 访问控制 > 角色管理界面,在界面右上角搜索栏搜索 "EMR"关键字,确认 “ServiceRoleForEMR” 角色是否生效。 - 若是子用户操作创建集群时,需主账号在访问控制 > 用户界面,给子用户授予 EMRFullAccess 权限,详细信息请参见角色授权。
账号开通和权限操作,详见准备工作。
使用限制
请关注设置部署拓扑的限制条件:
- 自定义部署仅支持开启了服务高可用的集群。
- 自定义部署受节点数量、节点组数量、服务角色、限制,若不满足条件时,页面选项置灰,不可调整。
操作步骤
- 登录火山引擎 EMR 控制台。
- 在顶部菜单栏中,根据实际场景,下拉选择地域和项目空间:
- 地域:创建的集群及相应资源均会部署在对应地域内,不可修改。
- 项目空间:系统已自动创建 default 的默认项目,您可通过下方路径,新建属于您的项目空间:
- 通过界面右上角用户 >访问控制 > 资源管理 > 项目,进入项目界面。
- 单击新建项目按钮,输入项目名、显示名称、备注等信息,完成新建项目。
详见项目配置。
- 在总览界面,单击创建资源按钮,进去集群创建界面。

自定义配置集群
- 在软件设置步骤中,选择数据湖 - Hadoop 集群类型或自定义集群类型,并完成其余组件和元数据信息等信息的参数配置。更多配置说明详见软件设置。
- 软件设置选择完成后,单击下一步按钮,进入硬件设置页面,并完成付费设置、可用地区、网络配置、实例设置等配置参数填写。更多硬件设置说明详见硬件设置。
- 其中,在实例设置流程中,单击打开左上角的自定义部署按钮;
- 在下方部署拓扑中,单击设置部署拓扑按钮,进入部署拓扑设置界面;

- 完成 HDFS、YARN、Hive、Zookeeper 等自定义拓扑调整,详见下方自定义拓扑调整说明。
- 部署拓扑设置完成后,单击右下角确定按钮,完成部署拓扑方案保存。
- 完成拓扑调整和硬件设置后,单击下一步按钮,进入其他设置页面,填写集群名称及秘钥对信息。更多设置说明详见其他设置。
- 其他设置完成后,单击下一步按钮,进入整体集群预览确认界面,确认无误后,在页面下方勾选我同意EMR 服务条款,并单击立即创建按钮,完成集群创建。
- 然后您可前往集群列表,查看集群创建进度,等待其创建完成。
自定义拓扑调整说明
服务名称 | 组件名称 | 支持自定义拓扑在节点\节点组情况 |
|---|
HDFS | Namenode | Master 节点组
支持实例个数:2的倍数,且不能超过 master 节点数量 说明 可以开启 Federation 功能,指定多组 NameService。
每组 NameNode 需要用户输入 NameService 名称,只能包含字母、数字、下划线。 |
Datanode | Core 节点组 |
YARN | ResourceManager | Master 节点组
支持实例个数: 2 |
NodeManager | Core/Task 节点组 |
Hive | MetaStore | Master 节点组
支持实例个数:2个及以上,不能超过 master 节点数量 |
HiveServer2 | Master 节点组
实例个数:2个及以上,不能超过 master 节点数量 |
ZooKeeper | ZooKeeper | Master 节点组
可设置数量为3,5,7,但不能超过最大 master 节点数量
ZooKeeper 数量只影响容错节点数,不会影响 ZooKeeper 元数据存储容量 |
Doris | FE | 不支持 |
BE | Core 节点组 |
StarRocks | FE | 不支持 |
BE | Core 节点组 |
CN | Core/Task 节点组 |
Presto | Coordinator | 不支持 |
Worker | Core/Task 节点组 |
Trino | Coordinator | 不支持 |
Worker | Core/Task 节点组 |
Celeborn | Master | Master 节点(仅 EMR-4.0.0 及以后版本支持)
可设置数量为3,5,7,但不能超过 master 节点数量 |
Worker | Core/Task 节点组 |
DolphinScheduler | Master Server | Master 节点组(仅 EMR-4.0.0 及以后版本支持) |
Alert Server | Master 节点组(仅 EMR-4.0.0 及以后版本支持) |
Ranger | Ranger Usersync | Master 节点组(仅 EMR-4.0.0 及以后版本支持) |
Airflow | Airflow Celery Flower | Master 节点组(仅 EMR-4.0.0 及以后版本支持) |
Airflow WebServer | Master 节点组(仅 EMR-4.0.0 及以后版本支持) |
Redis Server | Master 节点组(仅 EMR-4.0.0 及以后版本支持) |
Airflow Scheduler | Core 节点组(仅 EMR-4.0.0 及以后版本支持) |
Airflow Celery Worker | Core 节点组(仅 EMR-4.0.0 及以后版本支持) |