名称: CreateCluster
使用场景: 调用 CreateCluster,创建一个 E-MapReduce(EMR)集群。
前置条件: 已拥有火山引擎账号并开通 EMR 权限。详见:API概述 。
RequestParam:
TOP公共参数:
POST
Action=CreateCluster
Version=2022-06-30
Region=cn-beijing
请求体:
参数 | 类型 | 必填 | 描述 | 示例 |
---|---|---|---|---|
Name | String | Y | EMR 集群名称,长度限制为1-64个字符,只允许包含中文、字母、数字、-、_ | cluster-01 |
ClusterType | String | Y | EMR 集群的类型 |
|
ReleaseVersion | String | N | EMR 产品的版本号 | 1.3.0 (默认最新版本) |
ServiceNames | Array | N | EMR 集群需要安装的可选服务名称,必选服务不需要传入 | FLUME |
Configs | Array | N | EMR 集群自定义配置: | |
| String | Y | EMR 集群自定义配置的服务名称, | HDFS |
| String | Y | EMR 集群自定义配置的文件名称: | core-site |
| String | Y | EMR 集群自定义配置的键: | fs.tos.access.key |
| String | Y | EMR 集群自定义配置的值: | AXXXXXXXX |
ChargeType | String | N | EMR 集群的付费类型 |
|
Period | String | N | EMR 集群预付费购买的周期类型 | monthly (默认) |
Times | Integer | N | EMR 集群预付费购买的周期数 | 1 (默认) |
AutoRenew | Boolean | N | EMR 集群是否开启自动续费 | 包月场景可选:
|
ZoneId | String | N | EMR 集群所在可用区 ID | cn-guilin-boe-a |
VpcId | String | Y | EMR 集群所在地域的 VPC | vpc-2bz3xxxxx |
SubnetId | String | Y | EMR 集群所在 VPC 下可用区的子网 | subnet-2d6mxxxxx |
SecurityGroupId | String | N | EMR 集群使用的安全组 | sg-2bz0wxxxxx |
HighAvailabilityEnable | Boolean | N | EMR 集群是否开启高可用 |
|
HostGroups | Array | Y | EMR 集群创建主机组配置: | |
| String | Y | EMR 集群主机组角色 |
|
| String | Y | EMR 集群主机组主机类型 | ecs.r1.xlarge |
| Integer | N | EMR 集群主机组主机数据盘容量(GB) | 100 (默认根据集群版本和类型配置) |
| String | N | EMR 集群主机组主机数据盘类型 |
|
| Integer | N | EMR 集群主机组主机数据盘数量,Master 节点不允许自定义。 | 1 (默认0) |
| Integer | N | EMR 集群主机组主机系统盘容量(GB) | 100 (默认根据集群版本和类型配置) |
| String | N | EMR 集群主机组主机系统盘类型 |
|
| String | Y | EMR 集群主机组名称 | MasterGroup |
| Integer | Y | EMR 集群主机组主机数量,Master 节点不可自定义。 | 1 |
IsOpenPublicIp | Boolean | N | EMR 集群是否绑定公网 ip |
|
MasterPwd | String | N | EMR master 集群 root 密码,需要满足 ECS 机器登录密码规则。 | password |
KeyPairName | String | N | 使用“SSH密钥对”登录 EMR 集群实例时使用的密钥对名称。KeyPairName 和 MasterPwd 必传一个。如果同时设置了密钥对 KeyPairName 和密码 Password,则仅生效密钥对 KeyPairName。 | my_keypair |
DbConf | Array | N | EMR 集群数据库信息。仅当安装服务中存在 HIVE/AIRFLOW/RANGER 的场合生效。 | |
| String | Y | EMR 集群外置 RDS 类别 |
|
| String | Y | EMR 集群数据库连接关联的服务 |
|
| String | N | EMR 集群外置 RDS 实例 ID | rds-mysql-h0xxxxx |
ProjectName | String | N | EMR 集群所属项目名 | default |
BootStrapSteps | Array | N | EMR 集群引导操作步骤 | |
| String | Y | 引导操作名称 | sc1 |
| String | Y | 引导操作路径 | tos |
| String | Y | 引导操作执行目标 |
|
| String | N | 引导操作执行时机 |
|
| String | N | 引导操作失败策略 |
|
| String | N | 引导操作参数,空格为分隔符的字符串 | 123 234 |
KerberosEnable | Boolean | N | EMR 集群是否开启 Kerberos 安全验证 | false(默认):不开启 |
CreateUserConf | Array | N | EMR 集群创建时一并创建的用户信息: | |
| String | Y | 用户名 | desc |
| String | Y | 用户密码 | root-1234 |
| String | N | 用户描述 | users |
EcsRole | String | N | EMR 集群内机器绑定的角色,默认绑定 VEECSforEMRRole | VEECSforEMRRole |
Tags | Array | N | 集群和资源需要添加的自定义 tags | [{ "TagKey": "team1", |
EnablePhs | Boolean | N | 是否开启 public history server |
|
名称 | 类型 | 是否必传 | 描述 | 示例 |
---|---|---|---|---|
TagKey | String | Y | 标签键,只允许1-128个字符,包含单字、数字、空格和符号_.:/=+-@ | team |
TagValue | String | Y | 标签值,只允许1-256个字符,包含单字、数字、空格和符号_.:/=+-@ | emr |
必要参数示例:
{ "Name": "myCluster-01", "ClusterType": "Hadoop", "MasterPwd": "password!", "VpcId": "vpc123", "SubnetId": "subnet123", "HostGroups": [ { "HostGroupType": "MASTER", "InstanceType": "ecs.r1.xlarge", "HostGroupName": "MasterGroup001" }, { "HostGroupType": "CORE", "InstanceType": "ecs.r1.xlarge", "HostGroupName": "MasterGroup001", "NodeCount": 2 } ] }
全量示例:
{ "sceneId": "DataLake", "ReleaseVersion": "1.3.0", "ImageID": "image-ybqrxxxxx", "ClusterType": "Hadoop", "ServiceNames": [ "AIRFLOW", "RANGER" ], "ChargeType": "PostPaid", "ZoneId": "cn-guilin-boe-a", "VpcId": "vpc-3rfwwxxxxx", "SubnetId": "subnet-2d5xxxxx", "SecurityGroupId": "sg-3rfxxxxx", "HighAvailabilityEnable": false, "HostGroups": [ { "HostGroupName": "MasterGroup", "HostGroupType": "MASTER", "NodeCount": 1, "InstanceType": "ecs.c1.4xlarge", "SystemDiskType": "ESSD_PL0", "SystemDiskCapacity": 200, "SystemDiskQuantity": 1, "DataDiskType": "ESSD_PL0", "DataDiskCapacity": 200, "DataDiskQuantity": 1 }, { "HostGroupName": "CoreGroup", "HostGroupType": "CORE", "NodeCount": 2, "InstanceType": "ecs.c1.4xlarge", "SystemDiskType": "ESSD_PL0", "SystemDiskCapacity": 200, "SystemDiskQuantity": 1, "DataDiskType": "ESSD_PL0", "DataDiskCapacity": 200, "DataDiskQuantity": 1 } ], "Name": "test-create-00", "IsOpenPublicIp": true, "MasterPwd": "root@1xxxxx", "ticket": "pwd", "KerberosEnable": true, "BootStrapSteps": [ { "executionRange": "cluster", "ExecutionMoment": "BEFORE_STARTED", "FailStrategy": "FAILED_CONTINUE", "ExecutionTarget": "CLUSTER", "id": "5e761b93-8bc6-4273-9831-xxxxx", "Name": "dsdsds", "ScriptPath": "tos://tos-emr-xxxxx/aaa/bbb/ccc/xxx.sh" } ], "CreateUserConf": [ { "Name": "desc", "Password": "root-1234" } ], "DbConf": [ { "Correlation": "HIVE", "DbType": "BUILT_IN_MYSQL", "DisplayName": "Hive (3.1.2)" }, { "Correlation": "RANGER", "DbType": "EXTERNAL_MYSQL", "DisplayName": "Ranger(2.1.0)", "DbConnId": "emrdbct-N3wxxxxx" }, { "Correlation": "AIRFLOW", "DbType": "EXTERNAL_MYSQL", "DisplayName": "Airflow(2.2.0)", "DbConnId": "emrdbct-N3wxxxxx" } ], "EcsRole": "VEECSforEMRRole", "Tags":[ { "TagKey": "key1", "TagValue": "value1" } ] }
名称 | 类型 | 描述 | 示例 |
---|---|---|---|
Result | Struct | 创建集群的返回结果: | |
| String | 已支付的订单号,按量付费时返回 | Orderxxxxx |
| String | 集群实例 ID | emr-12345 |
{ "ResponseMetadata": { "RequestId": "2021123020435901022524312503xxx", "Action": "CreateCluster", "Version": "2022-06-30", "Service": "emr", "Region": "cn-guilin-boe", "Error": null }, "Result": { "OrderId": "Orderxxxxx", "ClusterId": "emr-12345" } }