ALIYUN::EMR::Cluster
ALIYUN::EMR::Cluster類型用于創(chuàng)建一個(gè)E-MapReduce集群。
ALIYUN::EMR::Cluster支持基于E-MapReduce產(chǎn)品的舊版API,支持舊版HADOOP、KAFKA 、DRUID 、ZOOKEEPER、DATA_SCIENCE、GATEWAY等早期的集群類型。ALIYUN::EMR::Cluster2支持基于E-MapReduce產(chǎn)品的新版API(2021-03-20),支持DATALAKE、OLAP、DATAFLOW、DATASERVING等新的集群類型,如果沒(méi)有早期集群類型需求,建議使用ALIYUN::EMR::Cluster2資源創(chuàng)建EMR集群。
語(yǔ)法
{
"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 | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
IoOptimized | Boolean | 否 | 否 | 是否開啟IO優(yōu)化。 | 取值:
|
HostGroup | List | 是 | 否 | 機(jī)器組。 | 更多信息,請(qǐng)參見HostGroup屬性。 |
Config | List | 否 | 否 | 自定義配置項(xiàng)。 | 更多信息,請(qǐng)參見Config屬性。 |
KeyPairName | String | 否 | 否 | 密鑰對(duì)名稱。 | 無(wú) |
VpcId | String | 否 | 否 | 專有網(wǎng)絡(luò)ID。 | 無(wú) |
AutoRenew | Boolean | 否 | 否 | 包年包月集群是否自動(dòng)續(xù)費(fèi)。 | 取值:
|
RelatedClusterId | String | 否 | 否 | Gateway集群關(guān)聯(lián)的主集群ID。 | 當(dāng)ClusterType取值為GATEWAY時(shí),該參數(shù)有效。 |
BootstrapAction | List | 否 | 否 | 引導(dǎo)操作。 | 更多信息,請(qǐng)參見BootstrapAction屬性。 |
InstanceGeneration | String | 否 | 否 | ECS實(shí)例規(guī)格族。 | 無(wú) |
VSwitchId | String | 否 | 否 | 交換機(jī)ID。 | 無(wú) |
NetType | String | 是 | 否 | 網(wǎng)絡(luò)類型。 | 取值:VPC,表示專有網(wǎng)絡(luò)。 |
UserDefinedEmrEcsRole | String | 否 | 否 | 授權(quán)給ECS的角色,用于ECS內(nèi)部訪問(wèn)OSS等其他阿里云服務(wù)。 | 無(wú) |
Name | String | 是 | 是 | 集群名稱。 | 長(zhǎng)度為1~64個(gè)字符,可包含英文字母、漢字、數(shù)字、短劃線(-)和下劃線(_)。 |
ClusterType | String | 是 | 否 | 集群類型。 | 取值:
|
ZoneId | String | 是 | 否 | 可用區(qū)ID。 | 無(wú) |
IsOpenPublicIp | Boolean | 否 | 否 | 是否開啟公網(wǎng)IP地址。 | 取值:
|
OptionSoftWareList | List | 否 | 否 | 可選軟件列表。 | 無(wú) |
Configurations | String | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
MasterPwd | String | 否 | 否 | Master節(jié)點(diǎn)SSH訪問(wèn)密碼。 | 長(zhǎng)度為8~30個(gè)字符,需同時(shí)包含大寫英文字母、小寫英文字母、數(shù)字和特殊符號(hào)中任意三項(xiàng)。 |
MachineType | String | 否 | 否 | 機(jī)器類型。 | 無(wú) |
EmrVer | String | 是 | 否 | EMR版本。 | 無(wú) |
SecurityGroupName | String | 否 | 否 | 安全組名稱。 | 如果不指定安全組ID,將使用該名稱創(chuàng)建一個(gè)新的安全組。 當(dāng)集群創(chuàng)建完成后,可以在集群詳情中查詢創(chuàng)建的安全組ID。該安全組將會(huì)帶有默認(rèn)的安全組策略:入方向只開放22端口,出方向開放所有端口。 |
DepositType | String | 否 | 否 | 集群的托管類型。 | 無(wú) |
SecurityGroupId | String | 否 | 否 | 安全組ID。 | 若使用已有安全組,將給安全組增加默認(rèn)策略:入方向只開放22端口,出方向開放所有端口。 |
LogPath | String | 否 | 否 | OSS日志路徑。 | 無(wú) |
Period | Integer | 否 | 否 | 包年包月時(shí)長(zhǎng)。 | 當(dāng)ChargeType取值為PrePaid時(shí),必須指定該參數(shù)。 取值:1、2、3、4、5、6、7、8、9、12、24、36。 單位:月。 |
HighAvailabilityEnable | Boolean | 否 | 否 | 是否開啟高可用集群。 | 取值:
|
UseCustomHiveMetaDB | Boolean | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
UserInfo | List | 否 | 否 | 用戶信息。 | 更多信息,請(qǐng)參見UserInfo屬性。 |
ChargeType | String | 是 | 否 | 付費(fèi)類型。 | 取值:
|
AuthorizeContent | String | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
UseLocalMetaDb | Boolean | 是 | 否 | 是否使用集群內(nèi)置MySQL作為Hive元數(shù)據(jù)庫(kù)。 | 取值:
|
MetaStoreConf | String | 否 | 否 | 元數(shù)據(jù)配置。 | MetaStoreType取值為user_rds時(shí),必須指定該參數(shù)。 格式: |
MetaStoreType | String | 否 | 否 | 元數(shù)據(jù)類型。 | 取值:
|
ClickHouseConf | Map | 否 | 否 | ClickHouse集群配置。 | 無(wú) |
ResourceGroupId | String | 否 | 是 | 資源組ID。 | 無(wú) |
Tags | List | 否 | 是 | 用戶自定義標(biāo)簽。 | 更多信息,請(qǐng)參見Tags屬性。 |
Tags語(yǔ)法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Key | String | 是 | 否 | 標(biāo)簽鍵。 | 長(zhǎng)度為1~128個(gè)字符。 不能以 |
Value | String | 否 | 否 | 標(biāo)簽值。 | 長(zhǎng)度為0~128個(gè)字符。 不能以 |
HostGroup語(yǔ)法
"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 | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
SysDiskType | String | 是 | 否 | 機(jī)器組的系統(tǒng)盤類型。 | 取值:
|
DiskCapacity | Integer | 是 | 否 | 機(jī)器組的數(shù)據(jù)盤容量。 | 單位:GB。 |
NodeCount | Integer | 是 | 否 | 機(jī)器組節(jié)點(diǎn)數(shù)。 | 無(wú) |
ClusterId | String | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
DiskCount | Integer | 是 | 否 | 機(jī)器組的數(shù)據(jù)盤數(shù)量。 | 無(wú) |
CreateType | String | 否 | 否 | 機(jī)器組的創(chuàng)建類型。 | 取值:
|
DiskType | String | 是 | 否 | 機(jī)器組的數(shù)據(jù)盤類型。 | 取值:
|
AutoRenew | Boolean | 否 | 否 | 包年包月集群是否自動(dòng)續(xù)費(fèi)。 | 取值:
|
HostGroupType | String | 是 | 否 | 機(jī)器組類型。 | 取值:
|
SysDiskCapacity | Integer | 是 | 否 | 機(jī)器組的系統(tǒng)盤容量。 | 單位:GB。 |
VSwitchId | String | 否 | 否 | 交換機(jī)ID。 | 無(wú) |
ChargeType | String | 是 | 否 | 付費(fèi)類型。 | 取值:
|
Period | Integer | 否 | 否 | 包年包月時(shí)長(zhǎng)。 | 當(dāng)ChargeType取值為PrePaid時(shí),必須指定該參數(shù)。 取值:1、2、3、4、5、6、7、8、9、12、24、36。 單位:月。 |
HostKeyPairName | String | 否 | 否 | 主機(jī)組的密鑰對(duì)名稱。 | 當(dāng)ClusterType取值為GATEWAY時(shí),該參數(shù)有效。 |
HostPassword | String | 否 | 否 | 主機(jī)的密碼 | 當(dāng)ClusterType取值為GATEWAY時(shí),該參數(shù)有效。 |
HostGroupId | String | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
InstanceType | String | 是 | 否 | 實(shí)例規(guī)格。 | 無(wú) |
GpuDriver | String | 否 | 否 | GPU驅(qū)動(dòng)。 | 無(wú) |
HostGroupName | String | 否 | 否 | 機(jī)器組名稱。 | 無(wú) |
Config語(yǔ)法
"Config": [
{
"Encrypt": String,
"ConfigKey": String,
"FileName": String,
"ServiceName": String,
"Replace": String,
"ConfigValue": String
}
]
Config屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Encrypt | String | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
ConfigKey | String | 否 | 否 | 自定義配置項(xiàng)的鍵。 | 無(wú) |
FileName | String | 否 | 否 | 自定義配置項(xiàng)所屬的文件名稱。 | 無(wú) |
ServiceName | String | 否 | 否 | 自定義配置項(xiàng)的服務(wù)名稱。 | 無(wú) |
Replace | String | 否 | 否 | 保留字段,無(wú)需填寫。 | 無(wú) |
ConfigValue | String | 否 | 否 | 自定義配置項(xiàng)的值。 | 無(wú) |
BootstrapAction語(yǔ)法
"BootstrapAction": [
{
"Path": String,
"Name": String,
"Arg": String
}
]
BootstrapAction屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Path | String | 否 | 否 | 引導(dǎo)操作腳本OSS存放路徑。 | 無(wú) |
Name | String | 否 | 否 | 引導(dǎo)操作的名稱。 | 無(wú) |
Arg | String | 否 | 否 | 引導(dǎo)操作的參數(shù)。 | 無(wú) |
UserInfo語(yǔ)法
"UserInfo": [
{
"UserName": String,
"Password": String,
"UserId": String
}
]
UserInfo屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
UserName | String | 否 | 否 | Knox用戶的用戶名。 | 無(wú) |
Password | String | 否 | 否 | Knox用戶的密碼。 | 無(wú) |
UserId | String | 否 | 否 | Knox用戶的RAM用戶ID。 | 無(wú) |
返回值
Fn::GetAtt
ClusterId:集群ID。
HostGroups:集群機(jī)器組列表。
MasterNodePubIps:集群主節(jié)點(diǎn)的公共IP列表。
MasterNodeInnerIps:集群主節(jié)點(diǎn)的內(nèi)部IP列表。
示例
ROSTemplateFormatVersion: '2015-09-01'
Description: Test EMR Cluster
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Label:
zh-cn: 現(xiàn)有VPC的實(shí)例ID
en: Existing VPC Instance ID
ZoneId:
AssociationProperty: ALIYUN::ECS::ZoneId
Type: String
Label:
zh-cn: 交換機(jī)可用區(qū)
en: VSwitch Zone ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Label:
zh-cn: 網(wǎng)絡(luò)交換機(jī)ID
en: VSwitch ID
SecurityGroupId:
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Type: String
Description:
Label:
zh-cn: 業(yè)務(wù)安全組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": "現(xiàn)有VPC的實(shí)例ID",
"en": "Existing VPC Instance ID"
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::ZoneId",
"Type": "String",
"Label": {
"zh-cn": "交換機(jī)可用區(qū)",
"en": "VSwitch Zone ID"
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Label": {
"zh-cn": "網(wǎng)絡(luò)交換機(jī)ID",
"en": "VSwitch ID"
}
},
"SecurityGroupId": {
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
},
"Type": "String",
"Description": {
"Label": {
"zh-cn": "業(yè)務(wù)安全組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"
]
}
}
}
}