ALIYUN::EMR::Cluster类型用于创建一个E-MapReduce集群。
ALIYUN::EMR::Cluster支持基于E-MapReduce产品的旧版API,支持旧版HADOOP、KAFKA 、DRUID 、ZOOKEEPER、DATA_SCIENCE、GATEWAY等早期的集群类型。ALIYUN::EMR::Cluster2支持基于E-MapReduce产品的新版API(2021-03-20),支持DATALAKE、OLAP、DATAFLOW、DATASERVING等新的集群类型,如果没有早期集群类型需求,建议使用ALIYUN::EMR::Cluster2资源创建EMR集群。
语法
{
"Type": "ALIYUN::EMR::Cluster",
"Properties": {
"SshEnable": Boolean,
"EasEnable": Boolean,
"WhiteListType": String,
"InitCustomHiveMetaDB": Boolean,
"IoOptimized": Boolean,
"HostGroup": List,
"Config": List,
"KeyPairName": String,
"VpcId": String,
"AutoRenew": Boolean,
"RelatedClusterId": String,
"BootstrapAction": List,
"InstanceGeneration": String,
"DepositType": String,
"VSwitchId": String,
"NetType": String,
"UserDefinedEmrEcsRole": String,
"Name": String,
"ClusterType": String,
"ZoneId": String,
"IsOpenPublicIp": Boolean,
"OptionSoftWareList": List,
"Configurations": String,
"MasterPwd": String,
"MachineType": String,
"EmrVer": String,
"SecurityGroupName": String,
"MetaStoreConf": String,
"SecurityGroupId": String,
"LogPath": String,
"Period": Integer,
"HighAvailabilityEnable": Boolean,
"UseCustomHiveMetaDB": Boolean,
"UserInfo": List,
"ChargeType": String,
"MetaStoreType": String,
"AuthorizeContent": String,
"UseLocalMetaDb": Boolean,
"ClickHouseConf": Map,
"ResourceGroupId": String,
"Tags": List
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
SshEnable | Boolean | 否 | 否 | 是否开启SSH。 | 取值:
|
EasEnable | Boolean | 否 | 否 | 是否为高安全集群。 | 取值:
|
WhiteListType | String | 否 | 否 | 白名单类型。 | 取值:
|
InitCustomHiveMetaDB | Boolean | 否 | 否 | 保留字段,无需填写。 | 无 |
IoOptimized | Boolean | 否 | 否 | 是否开启IO优化。 | 取值:
|
HostGroup | List | 是 | 否 | 机器组。 | 更多信息,请参见HostGroup属性。 |
Config | List | 否 | 否 | 自定义配置项。 | 更多信息,请参见Config属性。 |
KeyPairName | String | 否 | 否 | 密钥对名称。 | 无 |
VpcId | String | 否 | 否 | 专有网络ID。 | 无 |
AutoRenew | Boolean | 否 | 否 | 包年包月集群是否自动续费。 | 取值:
|
RelatedClusterId | String | 否 | 否 | Gateway集群关联的主集群ID。 | 当ClusterType取值为GATEWAY时,该参数有效。 |
BootstrapAction | List | 否 | 否 | 引导操作。 | 更多信息,请参见BootstrapAction属性。 |
InstanceGeneration | String | 否 | 否 | ECS实例规格族。 | 无 |
VSwitchId | String | 否 | 否 | 交换机ID。 | 无 |
NetType | String | 是 | 否 | 网络类型。 | 取值:VPC,表示专有网络。 |
UserDefinedEmrEcsRole | String | 否 | 否 | 授权给ECS的角色,用于ECS内部访问OSS等其他阿里云服务。 | 无 |
Name | String | 是 | 是 | 集群名称。 | 长度为1~64个字符,可包含英文字母、汉字、数字、短划线(-)和下划线(_)。 |
ClusterType | String | 是 | 否 | 集群类型。 | 取值:
|
ZoneId | String | 是 | 否 | 可用区ID。 | 无 |
IsOpenPublicIp | Boolean | 否 | 否 | 是否开启公网IP地址。 | 取值:
|
OptionSoftWareList | List | 否 | 否 | 可选软件列表。 | 无 |
Configurations | String | 否 | 否 | 保留字段,无需填写。 | 无 |
MasterPwd | String | 否 | 否 | Master节点SSH访问密码。 | 长度为8~30个字符,需同时包含大写英文字母、小写英文字母、数字和特殊符号中任意三项。 |
MachineType | String | 否 | 否 | 机器类型。 | 无 |
EmrVer | String | 是 | 否 | EMR版本。 | 无 |
SecurityGroupName | String | 否 | 否 | 安全组名称。 | 如果不指定安全组ID,将使用该名称创建一个新的安全组。 当集群创建完成后,可以在集群详情中查询创建的安全组ID。该安全组将会带有默认的安全组策略:入方向只开放22端口,出方向开放所有端口。 |
DepositType | String | 否 | 否 | 集群的托管类型。 | 无 |
SecurityGroupId | String | 否 | 否 | 安全组ID。 | 若使用已有安全组,将给安全组增加默认策略:入方向只开放22端口,出方向开放所有端口。 |
LogPath | String | 否 | 否 | OSS日志路径。 | 无 |
Period | Integer | 否 | 否 | 包年包月时长。 | 当ChargeType取值为PrePaid时,必须指定该参数。 取值:1、2、3、4、5、6、7、8、9、12、24、36。 单位:月。 |
HighAvailabilityEnable | Boolean | 否 | 否 | 是否开启高可用集群。 | 取值:
|
UseCustomHiveMetaDB | Boolean | 否 | 否 | 保留字段,无需填写。 | 无 |
UserInfo | List | 否 | 否 | 用户信息。 | 更多信息,请参见UserInfo属性。 |
ChargeType | String | 是 | 否 | 付费类型。 | 取值:
|
AuthorizeContent | String | 否 | 否 | 保留字段,无需填写。 | 无 |
UseLocalMetaDb | Boolean | 是 | 否 | 是否使用集群内置MySQL作为Hive元数据库。 | 取值:
|
MetaStoreConf | String | 否 | 否 | 元数据配置。 | MetaStoreType取值为user_rds时,必须指定该参数。 格式: |
MetaStoreType | String | 否 | 否 | 元数据类型。 | 取值:
|
ClickHouseConf | Map | 否 | 否 | ClickHouse集群配置。 | 无 |
ResourceGroupId | String | 否 | 是 | 资源组ID。 | 无 |
Tags | List | 否 | 是 | 用户自定义标签。 | 更多信息,请参见Tags属性。 |
Tags语法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符。 不能以 |
Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符。 不能以 |
HostGroup语法
"HostGroup": [
{
"Comment": String,
"SysDiskType": String,
"DiskCapacity": Integer,
"NodeCount": Integer,
"ClusterId": String,
"DiskCount": Integer,
"CreateType": String,
"DiskType": String,
"AutoRenew": Boolean,
"HostGroupType": String,
"SysDiskCapacity": Integer,
"VSwitchId": String,
"ChargeType": String,
"Period": Integer,
"HostKeyPairName": String,
"HostPassword": String,
"HostGroupId": String,
"InstanceType": String,
"GpuDriver": String,
"HostGroupName": String
}
]
HostGroup属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Comment | String | 否 | 否 | 保留字段,无需填写。 | 无 |
SysDiskType | String | 是 | 否 | 机器组的系统盘类型。 | 取值:
|
DiskCapacity | Integer | 是 | 否 | 机器组的数据盘容量。 | 单位:GB。 |
NodeCount | Integer | 是 | 否 | 机器组节点数。 | 无 |
ClusterId | String | 否 | 否 | 保留字段,无需填写。 | 无 |
DiskCount | Integer | 是 | 否 | 机器组的数据盘数量。 | 无 |
CreateType | String | 否 | 否 | 机器组的创建类型。 | 取值:
|
DiskType | String | 是 | 否 | 机器组的数据盘类型。 | 取值:
|
AutoRenew | Boolean | 否 | 否 | 包年包月集群是否自动续费。 | 取值:
|
HostGroupType | String | 是 | 否 | 机器组类型。 | 取值:
|
SysDiskCapacity | Integer | 是 | 否 | 机器组的系统盘容量。 | 单位:GB。 |
VSwitchId | String | 否 | 否 | 交换机ID。 | 无 |
ChargeType | String | 是 | 否 | 付费类型。 | 取值:
|
Period | Integer | 否 | 否 | 包年包月时长。 | 当ChargeType取值为PrePaid时,必须指定该参数。 取值:1、2、3、4、5、6、7、8、9、12、24、36。 单位:月。 |
HostKeyPairName | String | 否 | 否 | 主机组的密钥对名称。 | 当ClusterType取值为GATEWAY时,该参数有效。 |
HostPassword | String | 否 | 否 | 主机的密码 | 当ClusterType取值为GATEWAY时,该参数有效。 |
HostGroupId | String | 否 | 否 | 保留字段,无需填写。 | 无 |
InstanceType | String | 是 | 否 | 实例规格。 | 无 |
GpuDriver | String | 否 | 否 | GPU驱动。 | 无 |
HostGroupName | String | 否 | 否 | 机器组名称。 | 无 |
Config语法
"Config": [
{
"Encrypt": String,
"ConfigKey": String,
"FileName": String,
"ServiceName": String,
"Replace": String,
"ConfigValue": String
}
]
Config属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Encrypt | String | 否 | 否 | 保留字段,无需填写。 | 无 |
ConfigKey | String | 否 | 否 | 自定义配置项的键。 | 无 |
FileName | String | 否 | 否 | 自定义配置项所属的文件名称。 | 无 |
ServiceName | String | 否 | 否 | 自定义配置项的服务名称。 | 无 |
Replace | String | 否 | 否 | 保留字段,无需填写。 | 无 |
ConfigValue | String | 否 | 否 | 自定义配置项的值。 | 无 |
BootstrapAction语法
"BootstrapAction": [
{
"Path": String,
"Name": String,
"Arg": String
}
]
BootstrapAction属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
Path | String | 否 | 否 | 引导操作脚本OSS存放路径。 | 无 |
Name | String | 否 | 否 | 引导操作的名称。 | 无 |
Arg | String | 否 | 否 | 引导操作的参数。 | 无 |
UserInfo语法
"UserInfo": [
{
"UserName": String,
"Password": String,
"UserId": String
}
]
UserInfo属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
UserName | String | 否 | 否 | Knox用户的用户名。 | 无 |
Password | String | 否 | 否 | Knox用户的密码。 | 无 |
UserId | String | 否 | 否 | Knox用户的RAM用户ID。 | 无 |
返回值
Fn::GetAtt
ClusterId:集群ID。
HostGroups:集群机器组列表。
MasterNodePubIps:集群主节点的公共IP列表。
MasterNodeInnerIps:集群主节点的内部IP列表。
Arn:阿里云资源名称。
示例
ROSTemplateFormatVersion: '2015-09-01'
Description: Test EMR Cluster
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Label:
zh-cn: 现有VPC的实例ID
en: Existing VPC Instance ID
ZoneId:
AssociationProperty: ALIYUN::ECS::ZoneId
Type: String
Label:
zh-cn: 交换机可用区
en: VSwitch Zone ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Label:
zh-cn: 网络交换机ID
en: VSwitch ID
SecurityGroupId:
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Type: String
Description:
Label:
zh-cn: 业务安全组ID
en: Business Security Group ID
ClusterDiskType:
Type: String
Default: CLOUD_SSD
Resources:
EmrCluster:
Type: ALIYUN::EMR::Cluster
Properties:
UseLocalMetaDb: false
IoOptimized: true
ZoneId:
Ref: ZoneId
VSwitchId:
Ref: VSwitchId
SecurityGroupId:
Ref: SecurityGroupId
HostGroup:
- DiskType: CLOUD_SSD
HostGroupType: MASTER
DiskCount: 1
DiskCapacity: 80
NodeCount: 1
SysDiskType: CLOUD_SSD
ChargeType: PostPaid
VSwitchId:
Ref: VSwitchId
AutoRenew: false
Period: 1
SysDiskCapacity: 120
InstanceType: ecs.g5.xlarge
- DiskType: CLOUD_SSD
HostGroupType: CORE
DiskCount: 4
DiskCapacity: 80
NodeCount: 2
SysDiskType: CLOUD_SSD
ChargeType: PostPaid
VSwitchId:
Ref: VSwitchId
AutoRenew: false
Period: 1
SysDiskCapacity: 120
InstanceType: ecs.g5.xlarge
EmrVer: EMR-3.22.4
ClusterType: HADOOP
Name:
Fn::Join:
- '-'
- - StackId
- Ref: ALIYUN::StackId
MasterPwd: Admin123!
VpcId:
Ref: VpcId
ChargeType: PostPaid
NetType: vpc
Outputs:
ClusterId:
Description: The ID of the cluster.
Value:
Fn::GetAtt:
- EmrCluster
- ClusterId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": "Test EMR Cluster",
"Parameters": {
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Label": {
"zh-cn": "现有VPC的实例ID",
"en": "Existing VPC Instance ID"
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::ZoneId",
"Type": "String",
"Label": {
"zh-cn": "交换机可用区",
"en": "VSwitch Zone ID"
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Label": {
"zh-cn": "网络交换机ID",
"en": "VSwitch ID"
}
},
"SecurityGroupId": {
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
},
"Type": "String",
"Description": {
"Label": {
"zh-cn": "业务安全组ID",
"en": "Business Security Group ID"
}
},
"ClusterDiskType": {
"Type": "String",
"Default": "CLOUD_SSD"
}
}
},
"Resources": {
"EmrCluster": {
"Type": "ALIYUN::EMR::Cluster",
"Properties": {
"UseLocalMetaDb": false,
"IoOptimized": true,
"ZoneId": {
"Ref": "ZoneId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"SecurityGroupId": {
"Ref": "SecurityGroupId"
},
"HostGroup": [
{
"DiskType": "CLOUD_SSD",
"HostGroupType": "MASTER",
"DiskCount": 1,
"DiskCapacity": 80,
"NodeCount": 1,
"SysDiskType": "CLOUD_SSD",
"ChargeType": "PostPaid",
"VSwitchId": {
"Ref": "VSwitchId"
},
"AutoRenew": false,
"Period": 1,
"SysDiskCapacity": 120,
"InstanceType": "ecs.g5.xlarge"
},
{
"DiskType": "CLOUD_SSD",
"HostGroupType": "CORE",
"DiskCount": 4,
"DiskCapacity": 80,
"NodeCount": 2,
"SysDiskType": "CLOUD_SSD",
"ChargeType": "PostPaid",
"VSwitchId": {
"Ref": "VSwitchId"
},
"AutoRenew": false,
"Period": 1,
"SysDiskCapacity": 120,
"InstanceType": "ecs.g5.xlarge"
}
],
"EmrVer": "EMR-3.22.4",
"ClusterType": "HADOOP",
"Name": {
"Fn::Join": [
"-",
[
"StackId",
{
"Ref": "ALIYUN::StackId"
}
]
]
},
"MasterPwd": "Admin123!",
"VpcId": {
"Ref": "VpcId"
},
"ChargeType": "PostPaid",
"NetType": "vpc"
}
}
},
"Outputs": {
"ClusterId": {
"Description": "The ID of the cluster.",
"Value": {
"Fn::GetAtt": [
"EmrCluster",
"ClusterId"
]
}
}
}
}
- 本页导读 (1)
- 语法
- 属性
- Tags语法
- Tags属性
- HostGroup语法
- HostGroup属性
- Config语法
- Config属性
- BootstrapAction语法
- BootstrapAction属性
- UserInfo语法
- UserInfo属性
- 返回值
- 示例