You need to enable JavaScript to run this app.
导航

CreateCluster(创建集群)

最近更新时间2022.10.09 10:28:00

首次发布时间2022.10.09 10:28:00

1 接口说明

名称: CreateCluster
使用场景: 调用 CreateCluster,创建一个 E-MapReduce(EMR)集群。
前置条件: 已拥有火山引擎账号并开通 EMR 权限。详见:API概述

2 请求参数

RequestParam:
TOP公共参数:
POST
Action=CreateCluster
Version=2022-06-30
Region=cn-beijing

请求体:

参数
类型必填描述示例

Name

String

Y

EMR 集群名称,长度限制为1-64个字符,只允许包含中文、字母、数字、-、_

cluster-01

ClusterType

String

Y

EMR 集群的类型

  • Hadoop
  • ZooKeeper
  • Stream-Flink
  • Stream-Kafka
  • Presto
  • Trino
  • HBase
  • OpenSearch

ReleaseVersion

String

N

EMR 产品的版本号

1.3.0 (默认最新版本)

ServiceNames

Array

N

EMR 集群需要安装的可选服务名称,必选服务不需要传入

FLUME

ConfigsArrayNEMR 集群自定义配置:
  • ServiceName

String

Y

EMR 集群自定义配置的服务名称,
如需要自定义服务配置,则 ServiceName,FileName,Key,Value 等参数都需要传入。

HDFS

  • FileName

String

Y

EMR 集群自定义配置的文件名称:
如需要自定义服务配置,则 ServiceName,FileName,Key,Value 等参数都需要传入。

core-site

  • Key

String

Y

EMR 集群自定义配置的键:
如需要自定义服务配置,则 ServiceName,FileName,Key,Value 等参数都需要传入。

fs.tos.access.key

  • Value

String

Y

EMR 集群自定义配置的值:
如需要自定义服务配置,则 ServiceName,FileName,Key,Value 等参数都需要传入。

AXXXXXXXX

ChargeType

String

N

EMR 集群的付费类型

  • PostPaid:按量付费(默认)

  • PrePaid:包年包月

Period

String

N

EMR 集群预付费购买的周期类型

monthly (默认)

Times

Integer

N

EMR 集群预付费购买的周期数

1 (默认)

AutoRenew

Boolean

N

EMR 集群是否开启自动续费

包月场景可选:

  • true

  • false (默认)

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 集群是否开启高可用

  • true
  • false (默认)
HostGroupsArrayYEMR 集群创建主机组配置:
  • HostGroupType

String

Y

EMR 集群主机组角色

  • MASTER:master 实例,负责控制进程的部署。
  • CORE:core 实例,负责集群数据的存储。
  • TASK:task 实例组,不保存数据,调整集群的算力时使用。
  • InstanceType

String

Y

EMR 集群主机组主机类型

ecs.r1.xlarge

  • DataDiskCapacity

Integer

N

EMR 集群主机组主机数据盘容量(GB)

100 (默认根据集群版本和类型配置)

  • DataDiskType

String

N

EMR 集群主机组主机数据盘类型

  • PTSSD:性能型 SSD
  • ESSD_PL0:极速型 SSD
  • ESSD_PL1:极速型 SSD (尚不支持)
  • ESSD_PL2:极速型 SSD(尚不支持)
  • ESSD_FlexPL:极速型 SSD
  • Ultra_Disk:高效云盘 (尚不支持)
  • DataDiskQuantity

Integer

N

EMR 集群主机组主机数据盘数量,Master 节点不允许自定义。

1 (默认0)

  • SystemDiskCapacity

Integer

N

EMR 集群主机组主机系统盘容量(GB)

100 (默认根据集群版本和类型配置)

  • SystemDiskType

String

N

EMR 集群主机组主机系统盘类型

  • PTSSD:性能型 SSD

  • ESSD_PL0:极速型 SSD(尚不支持)

  • ESSD_PL1:极速型 SSD (尚不支持)

  • ESSD_PL2:极速型 SSD(尚不支持)

  • Ultra_Disk:高效云盘 (尚不支持)

  • HostGroupName

String

Y

EMR 集群主机组名称

MasterGroup

  • NodeCount

Integer

Y

EMR 集群主机组主机数量,Master 节点不可自定义。

1

IsOpenPublicIp

Boolean

N

EMR 集群是否绑定公网 ip

  • true (如果开启,默认按带宽上限计费,默认1MB)

  • false (默认)

MasterPwdStringNEMR master 集群 root 密码,需要满足 ECS 机器登录密码规则。password
KeyPairNameStringN使用“SSH密钥对”登录 EMR 集群实例时使用的密钥对名称。KeyPairName 和 MasterPwd 必传一个。如果同时设置了密钥对 KeyPairName 和密码 Password,则仅生效密钥对 KeyPairName。my_keypair

DbConf

Array

N

EMR 集群数据库信息。仅当安装服务中存在 HIVE/AIRFLOW/RANGER 的场合生效。
这时下列所有子配置信息中,除 DbConnId 以外均为必传。

  • DbType

String

Y

EMR 集群外置 RDS 类别

  • BUILT_IN_MYSQL 内置

  • EXTERNAL_MYSQL 外置 RDS

  • UNIFIED_DATA_LAKE 数据湖

  • Correlation

String

Y

EMR 集群数据库连接关联的服务

  • HIVE:HIVE 元数据

  • RANGER:RANGER 元数据

  • AiRFLOW:AIRFLOW 元数据

  • DbConnId

String

N

EMR 集群外置 RDS 实例 ID

rds-mysql-h0xxxxx

ProjectNameStringNEMR 集群所属项目名default
BootStrapStepsArrayNEMR 集群引导操作步骤
  • Name

String

Y

引导操作名称

sc1

  • ScriptPath

String

Y

引导操作路径

tos

  • ExecutionTarget

String

Y

引导操作执行目标

  • CLUSTER

  • INSTANCE_GROUP

  • SINGLE_INSTANCE

  • RANGE_INSTANCE

  • MASTER

  • CORE

  • MASTER_CORE

  • ExecutionMoment

String

N

引导操作执行时机

  • BEFORE_STARTED (默认)

  • AFTER_STARTED

  • FailStrategy

String

N

引导操作失败策略

  • FAILED_CONTINUE (默认)

  • FAILED_STOP

  • Parameter

String

N

引导操作参数,空格为分隔符的字符串

123 234

KerberosEnable

Boolean

N

EMR 集群是否开启 Kerberos 安全验证

false(默认):不开启
true:开启

CreateUserConfArrayNEMR 集群创建时一并创建的用户信息:
  • Name

String

Y

用户名

desc

  • Password

String

Y

用户密码

root-1234

  • Description

String

N

用户描述

users

EcsRoleStringNEMR 集群内机器绑定的角色,默认绑定 VEECSforEMRRoleVEECSforEMRRole

Tags

Array

N

集群和资源需要添加的自定义 tags

[{ "TagKey": "team1",
"TagValue": "v1"}]

EnablePhs

Boolean

N

是否开启 public history server

  • true

  • false (默认)

Tag 结构:

名称类型是否必传描述示例
TagKeyStringY标签键,只允许1-128个字符,包含单字、数字、空格和符号_.:/=+-@team
TagValueStringY标签值,只允许1-256个字符,包含单字、数字、空格和符号_.:/=+-@emr

3 请求示例

必要参数示例:

{
    "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"
      }
  ]
}

4 返回参数

名称类型描述示例

Result

Struct

创建集群的返回结果:

  • OrderId

String

已支付的订单号,按量付费时返回

Orderxxxxx

  • ClusterId

String

集群实例 ID

emr-12345

5 返回示例

{
    "ResponseMetadata": {
        "RequestId": "2021123020435901022524312503xxx", 
        "Action": "CreateCluster", 
        "Version": "2022-06-30", 
        "Service": "emr", 
        "Region": "cn-guilin-boe", 
        "Error": null
    }, 
    "Result": {
        "OrderId": "Orderxxxxx",
        "ClusterId": "emr-12345"
    }
}