调用CreateClusterTemplate接口,创建一个E-MapReduce集群模板。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateClusterTemplate

系统规定参数。取值:CreateClusterTemplate。

ClusterType String HADOOP

集群类型,取值如下:

  • HADOOP
  • KAFKA
  • DATA SCIENCE
  • DRUID
  • FLINK
  • GATEWAY
  • CLICKHOUSE
  • SHUFFLE_SERVICE
  • EMR_STUDIO
TemplateName String ETLClusterTemplate

模版名称。

ZoneId String cn-hangzhou-b

可用区ID。您可以调用DescribeZones查看阿里云地域下的可用区。

BootstrapAction.N.Name String init_script

引导操作名称。

BootstrapAction.N.Path String oss://bucket/path

引导操作脚本OSS存放路径。

Config.N.ConfigKey String fs.trash.interval

自定义配置项的Key。

Config.N.ConfigValue String 60

自定义配置项的值。

Config.N.FileName String yarn-site

自定义配置项所属文件名。

Config.N.ServiceName String YARN

自定义配置项服务名(大写)。

HostGroup.N.DiskCapacity Integer 80

机器组的数据盘容量。

HostGroup.N.DiskCount Integer 1

机器组的数据盘数量。

HostGroup.N.DiskType String CLOUD_EFFICIENCY

机器组的数据盘类型,取值如下:

  • CLOUD_EFFICIENCY:高效云盘
  • CLOUD_SSD:SSD云盘
  • LOCAL_DISK:本地盘ECS实例类型只能填该值
  • CLOUD:普通云盘(不推荐使用)
HostGroup.N.HostGroupName String master_group

机器组名称。

HostGroup.N.HostGroupType String MASTER

机器组类型,取值如下:

  • MASTER:主实例组
  • CORE:核心实例组
  • TASK:计算实例组
说明 MASTERCORE均只支持设置一个组。
HostGroup.N.InstanceType String ecs.g5.xlarge

机器组中的ECS实例类型。

HostGroup.N.NodeCount Integer 2

机器组的节点数。

HostGroup.N.SysDiskCapacity Integer 80

机器组的系统盘容量。

HostGroup.N.SysDiskType String CLOUD_SSD

系统盘类型,取值如下:

  • CLOUD_EFFICIENCY:高效云盘
  • CLOUD_SSD:SSD云盘
  • CLOUD:普通云盘(不推荐使用)
EmrVer String EMR-3.35.0

EMR版本。提示:控制台创建集群可查看到EMR版本列表

RegionId String cn-hangzhou

地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。

KeyPairName String test_pair

免密登录ECS密钥对。

MetaStoreType String user_rds

Hive元数据服务类型,取值如下:

  • local:集群内部MySQL服务,MySQL单节点不保证高可用
  • user_rds:用户自建RDS服务
  • dlf:DLF元数据服务
MetaStoreConf String {"dbUrl":"jdbc:mysql://rm-xxxxxxxxxx.mysql.rds.aliyuncs.com/hmsdata?createDatabaseIfNotExist=true&characterEncoding=UTF-8","dbUserName":"xxxxxxx","dbPassword":"xxxxxx"}

统一元数据服务的配置信息。

当MetaStoreType为local或者dlf时,不填该参数。 当MetaStoreType为user_rds时,值例子: {"dbUrl":"jdbc:mysql://rm-xxxxxxxxxx.mysql.rds.aliyuncs.com/hmsdata?createDatabaseIfNotExist=true&characterEncoding=UTF-8","dbUserName":"xxxxxxx","dbPassword":"xxxxxx"}

HostGroup.N.PrivatePoolOptionsMatchCriteria String Target

实例启动的私有池容量选项。弹性保障服务或容量预定服务在生效后会生成私有池容量,供实例启动时选择。取值如下:

  • Open:开放模式。将自动匹配开放类型的私有池容量。如果没有符合条件的私有池容量,则使用公共池资源启动。该模式下无需设置HostGroup.N.PrivatePoolOptionsId参数
  • Target:指定模式。使用指定的私有池容量启动实例,如果该私有池容量不可用,则实例会启动失败。该模式下必须指定私有池ID,即HostGroup.N.PrivatePoolOptionsId参数为必填项
  • None:不使用模式。实例启动将不使用私有池容量
HostGroup.N.PrivatePoolOptionsId String crp-bp1e4wcvoucrish****

私有池ID。即弹性保障服务ID或容量预定服务ID。

BootstrapAction.N.ExecutionTarget String core_group

脚本执行范围,取值如下:

  • 整个集群,传入空值即可
  • 机器组名称
BootstrapAction.N.ExecutionMoment String BEFORE_INSTALL

脚本执行时机,取值如下:

  • BEFORE_INSTALL:服务安装之前执行
  • AFTER_STARTED:服务启动之后执行
BootstrapAction.N.ExecutionFailStrategy String FAILED_BLOCKED

脚本失败执行策略,取值如下:

  • FAILED_BLOCKED:失败后工作流转人工处理
  • FAILED_CONTINUE:失败后继续执行
Tag.N.Key String Dept

EMR集群标签键。N的取值范围:1~20。一旦传入该值,则不允许为空字符串。标签键的取值范围1~128,不能以aliyun和acs:开头,不能包含 http:// 或者 https:// 。

Tag.N.Value String DevIT

EMR集群标签值。N的取值范围:1~20。一旦传入该值,可以为空字符串。标签值的取值范围:1~128,不能以acs:开头,不能包含 http:// 或者 https:// 。

ResourceGroupId String rg-bp67acfmxazb4p****

资源组ID。

ClientToken String 123e4567-e89b-12d3-a456-42665544****

保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。

DataDiskEncrypted Boolean false

保留字段。

DataDiskKMSKeyId String false

保留字段。

Configurations String [{"classification": "core-site","properties": {"fs.trash.interval": "61"}},{"classification": "hadoop-log4j","properties": {"hadoop.log.file": "hadoop1.log","hadoop.root.logger": "INFO","a.b.c": "ABC"}}]

软件自定义配置(集群启动前,可以指定一个JSON文件修改软件配置)。

EasEnable Boolean true

集群是否开启高安全,取值如下:

  • true:高安全集群。
  • false:非高安全集群。
HighAvailabilityEnable Boolean true

是否开启高可用集群,取值如下:

  • true:开启高可用集群。如果开启高可用,至少需要两台Master节点。
  • false:不开启高可用集群。

高可用集群至少2个MASTER节点,未开启高可用集群,无法保证集群高可靠。

InitCustomHiveMetaDb Boolean false

保留字段。

InstanceGeneration String ecs-3

ECS实例分代。

IoOptimized Boolean true

是否开启I/O优化,默认为true,该参数已废弃。 取值如下:

  • true:优化
  • false:不优化
IsOpenPublicIp Boolean true

是否开放公网IP:

  • true:开放公网IP
  • false:不开放公网IP
LogPath String oss://bucket/path

OSS日志路径,该参数已废弃。

MachineType String ECS

集群构建的IaaS层资源类型。取值:ECS。

MasterPwd String pwd

Master节点root密码。需要满足ECS的密码规则:8~30个字符,且同时包含任意三项(大、小写字母、数字和特殊符号)。

NetType String VPC

网络类型。 取值:VPC。

OptionSoftWareList.N RepeatList ["HBASE","FLINK"]

可选服务列表。服务名称为大写字母,如ZOOKEEPER,LIVY。 可选服务可从EMR控制台创建集群步骤1-软件配置-可选服务查看获取。

Period Integer 36

包年包月集群的过期时间,单位:月。

SecurityGroupId String sg-bp1id7ajv83kmqwq****

安全组ID。

SecurityGroupName String sg-name

需要新建的安全组名称。如果不指定安全组ID,那么将使用这个名字创建一个新的安全组。当集群创建完成以后,可以在集群详情中看到创建的安全组ID。这个安全组将会带有默认的安全组策略:出方向开放所有端口。

参数SecurityGroupId和SecurityGroupName要求不能同时为空。

SshEnable Boolean true

是否修改安全组规则允许公网SSH登录,默认为false,该参数已废弃,取值如下:

  • true:开启SSH
  • false:不开启SSH
UseCustomHiveMetaDb Boolean false

保留字段,无需填写。

UseLocalMetaDb Boolean false

是否使用集群内置MySQL作为Hive元数据库。 取值如下:

  • true:使用本地Hive元数据库。
  • false:不本地Hive元数据库。

集群内置MySQL单节点,无法保证高可靠。

UserDefinedEmrEcsRole String AliyunEmrEcsDefaultRole

授权给ECS的角色,用于ECS内部访问OSS等其他阿里云服务。

  • AliyunECSInstanceForEMRRole :3.x系列>= EMR-3.33.0, 4.x系列>=EMR-4.6.0, 5.x系列>=EMR-5.1.0
  • AliyunEmrEcsDefaultRole:3.x系列< EMR-3.33.0, 4.x系列<EMR-4.6.0, 5.x系列<EMR-5.1.0
VpcId String vpc-bp1l4urd87xlh7i4b****

VPC ID。

VSwitchId String vsw-bp10tvjyc77psy0z5****

虚拟交换机的ID。

BootstrapAction.N.Arg String --arg1

引导操作的参数。

Config.N.Encrypt String 0

保留字段。

Config.N.Replace String 0

保留字段。

HostGroup.N.AutoRenew Boolean false

机器组机器是否自动续费,取值如下:

  • true:自动续费
  • false:手动续费
HostGroup.N.ChargeType String PostPaid

付费类型,取值如下:

  • PostPaid:后付费,按量付费
  • PrePaid:预付费,包年包月
HostGroup.N.ClusterId String 0

保留字段。

HostGroup.N.Comment String header

机器组的注释。

HostGroup.N.CreateType String ON-DEMAND

机器组创建类型,取值如下:

  • ON-DEMAND:按需创建
  • MANUAL:手动创建
HostGroup.N.HostGroupId String 0

保留字段。

HostGroup.N.MultiInstanceTypes String ["ecs.c5.xlarge","ecs.sn1ne.xlarge","ecs.hfc5.xlarge"]

JSON字段。机型列表,可用于创建机器的机型列表。

HostGroup.N.Period Integer 30

机器组的过期时间。

HostGroup.N.VSwitchId String vsw-bp10tvjyc77psy0z5****

机器组的交换机ID。

AutoRenew Boolean false

自动续费。

DepositType String HALF_MANAGED

集群的托管类型,取值如下:

  • HALF_MANAGED:半托管
  • MANAGED:全托管

返回数据

名称 类型 示例值 描述
ClusterTemplateId String CT-35498C56B3F1****

集群模版ID。

RequestId String 8CA40D40-2092-4A09-9F07-2F9C1399FB11

请求ID。

示例

请求示例

http(s)://[Endpoint]/?Action=CreateClusterTemplate
&ClusterType=HADOOP
&TemplateName=templateName2
&BootstrapAction.1.1ame=action_name
&BootstrapAction.1.Path=oss://bucket/path
&Config.1.ConfigKey=fs.trash.interval
&Config.1.ConfigValue=60
&Config.1.FileName=yarn-site
&Config.1.ServiceName=YARN
&HostGroup.1.HostGroupType=MASTER
&HostGroup.1.InstanceType=ecs.g5.xlarge
&HostGroup.1.1odeCount=2
&EmrVer=EMR-3.15.0
&RegionId=cn-hangzhou
&<公共请求参数>

正常返回示例

XML格式

<code>200</code>
<data>
    <RequestId>8CA40D40-2092-4A09-9F07-2F9C1399FB11</RequestId>
    <ClusterTemplateId>CT-35498C56B3F1****</ClusterTemplateId>
</data>
<requestId>8CA40D40-2092-4A09-9F07-2F9C1399FB11</requestId>
<successResponse>true</successResponse>

JSON格式

{
    "code": "200",
    "data": {
        "RequestId": "8CA40D40-2092-4A09-9F07-2F9C1399FB11",
        "ClusterTemplateId": "CT-35498C56B3F1****"
    },
    "requestId": "8CA40D40-2092-4A09-9F07-2F9C1399FB11",
    "successResponse": true
}