ALIYUN::EMR::Cluster2類型用於建立EMR叢集。
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::Cluster2",
"Properties": {
"Applications": List,
"ResourceGroupId": String,
"ApplicationConfigs": List,
"ClusterType": String,
"NodeGroups": List,
"ReleaseVersion": String,
"BootstrapScripts": List,
"SubscriptionConfig": Map,
"DeployMode": String,
"SecurityMode": String,
"NodeAttributes": Map,
"ClusterName": String,
"PaymentType": String,
"Tags": List
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Applications | List | 是 | 否 | 應用列表。 | 最多添加100個應用。 更多資訊,請參見Applications屬性。 |
ResourceGroupId | String | 否 | 否 | 資源群組ID。 | 無 |
ApplicationConfigs | List | 否 | 否 | 應用配置。 | 最多添加1000個應用配置。 更多資訊,請參見ApplicationConfigs屬性。 |
ClusterType | String | 是 | 否 | 叢集類型。 | 取值:
|
NodeGroups | List | 是 | 否 | 節點群組配置數組。 | 最多添加100個節點群組配置。 更多資訊,請參見NodeGroups屬性。 |
ReleaseVersion | String | 是 | 否 | EMR發行版。 | 無 |
BootstrapScripts | List | 否 | 否 | 引導指令碼數組。 | 最多添加10個引導指令碼數組。 更多資訊,請參見BootstrapScripts屬性。 |
SubscriptionConfig | Map | 否 | 否 | 預付費配置。 | 當PaymentType取值為Subscription時,本參數必填。 |
DeployMode | String | 否 | 否 | 叢集中的應用部署模式。 | 取值:
|
SecurityMode | String | 否 | 否 | 叢集Kerberos安全模式。 | 取值:
|
NodeAttributes | Map | 是 | 否 | 節點屬性。 | 叢集所有ECS節點基礎屬性。 |
ClusterName | String | 是 | 否 | 叢集名稱。 | 長度為1~128個字元,必須以大小寫字母或中文開頭,不能以 |
PaymentType | String | 否 | 否 | 付費類型。 | 取值:
|
Tags | List | 否 | 否 | 標籤。 | 最多添加20個自訂標籤。 更多資訊,請參見Tags屬性。 |
Applications文法
"Applications": [
{
"ApplicationName": String
}
]
Applications屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ApplicationName | String | 是 | 否 | 應用程式名稱。 | 無 |
ApplicationConfigs文法
"ApplicationConfigs": [
{
"ConfigFileName": String,
"ApplicationName": String,
"ConfigItemKey": String,
"NodeGroupName": String,
"NodeGroupId": String,
"ConfigScope": String,
"ConfigItemValue": String
}
]
ApplicationConfigs屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ConfigFileName | String | 否 | 否 | 設定檔名稱。 | 無 |
ApplicationName | String | 是 | 否 | 應用程式名稱。 | 無 |
ConfigItemKey | String | 否 | 否 | 配置項鍵。 | 無 |
NodeGroupName | String | 否 | 否 | 節點群組名稱。 | 當ConfigScope取值為NODE_GROUP且NodeGroupId取值為空白時,本參數生效。 |
NodeGroupId | String | 否 | 否 | 節點群組ID。 | 當ConfigScope取值為NODE_GROUP時,本參數生效。 說明 NodeGroupId參數的優先順序高於NodeGroupName參數。 |
ConfigScope | String | 否 | 否 | 配置範圍。 | 取值:
|
ConfigItemValue | String | 否 | 否 | 配置項值。 | 無 |
NodeGroups文法
"NodeGroups": [
{
"WithPublicIp": Boolean,
"SpotInstanceRemedy": Boolean,
"NodeCount": Number,
"NodeGroupName": String,
"DataDisks": List,
"VSwitchIds": List,
"SpotBidPrices": List,
"NodeResizeStrategy": String,
"SystemDisk": Map,
"NodeGroupType": String,
"InstanceTypes": List,
"AdditionalSecurityGroupIds": List,
"CostOptimizedConfig": Map,
"GracefulShutdown": Boolean,
"DeploymentSetStrategy": String,
"SpotStrategy": String
}
]
NodeGroups屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
WithPublicIp | Boolean | 否 | 否 | 是否開公網IP。 | 取值:
|
SpotInstanceRemedy | Boolean | 否 | 否 | 是否開啟搶佔式執行個體。當收到搶佔式執行個體將被回收的系統訊息時,伸縮組將嘗試建立新的執行個體,替換掉將被回收的搶佔式執行個體。 | 取值:
|
NodeCount | Number | 否 | 否 | 節點數量。 | 取值範圍:1~1000。 |
NodeGroupName | String | 否 | 否 | 節點群組名稱。 | 最大長度128個字元。叢集內要求節點群組名稱唯一。 |
DataDisks | List | 否 | 否 | 資料盤。 | 更多資訊,請參見DataDisks屬性。 |
VSwitchIds | List | 否 | 否 | 虛擬交換器ID列表。 | 無 |
SpotBidPrices | List | 否 | 否 | 搶佔式Spot執行個體出價價格。 | 當SpotStrategy取值為SpotWithPriceLimit時,本參數生效。 說明 最多添加100個執行個體出價價格。 更多資訊,請參見SpotBidPrices屬性。 |
NodeResizeStrategy | String | 否 | 否 | 節點擴容策略。 | 取值:
|
SystemDisk | Map | 否 | 否 | 系統硬碟。 | 更多資訊,請參見SystemDisk屬性。 |
NodeGroupType | String | 是 | 否 | 節點群組類型。 | 取值:
|
InstanceTypes | List | 是 | 否 | 節點執行個體類型列表。 | 最多添加100個節點執行個體類型。 |
AdditionalSecurityGroupIds | List | 否 | 否 | 附加安全性群組。 | 除叢集設定的安全性群組外,為節點群組單獨設定的附加安全性群組,最多添加2個附加安全性群組。 |
CostOptimizedConfig | Map | 否 | 否 | 成本最佳化模式配置。 | 無 |
GracefulShutdown | Boolean | 否 | 否 | 節點群組上部署的組件是否開啟優雅下線。 | 取值:
|
DeploymentSetStrategy | String | 否 | 否 | 部署集策略。 | 取值:
|
SpotStrategy | String | 否 | 否 | 搶佔式Spot執行個體策略。 | 取值:
|
DataDisks文法
"DataDisks": [
{
"Category": String,
"PerformanceLevel": String,
"Size": Number,
"Count": Number
}
]
DataDisks屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Category | String | 是 | 否 | 磁碟類型。 | 無 |
PerformanceLevel | String | 否 | 否 | 建立ESSD雲端硬碟作為資料盤使用時,設定雲端硬碟的效能等級。 | 取值:
|
Size | Number | 是 | 否 | 磁碟大小。 | 無 |
Count | Number | 否 | 否 | 每個節點系統硬碟數量。 | 無 |
SpotBidPrices文法
"SpotBidPrices": [
{
"BidPrice": Number,
"InstanceType": String
}
]
SpotBidPrices屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
BidPrice | Number | 否 | 否 | 執行個體的每小時最高出價。 | 支援最大3位小數,當參數SpotStrategy取值為SpotWithPriceLimit時,本參數生效。 |
InstanceType | String | 否 | 否 | ECS執行個體類型。 | 無 |
SystemDisk文法
"SystemDisk": {
"Category": String,
"PerformanceLevel": String,
"Size": Number,
"Count": Number
}
SystemDisk屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Category | String | 是 | 否 | 磁碟類型。 | 無 |
PerformanceLevel | String | 否 | 否 | 建立ESSD雲端硬碟作為系統硬碟使用時,設定雲端硬碟的效能等級。 | 取值:
|
Size | Number | 是 | 否 | 磁碟容量大小。 | 取值範圍:20~500。 |
Count | Number | 否 | 否 | 每個節點系統硬碟數量。 | 預設值:1。 |
CostOptimizedConfig文法
"CostOptimizedConfig": {
"OnDemandBaseCapacity": Number,
"OnDemandPercentageAboveBaseCapacity": Number,
"SpotInstancePools": Number
}
CostOptimizedConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
OnDemandBaseCapacity | Number | 是 | 否 | 節點群組所需隨用隨付執行個體個數的最小值。 | 無 |
OnDemandPercentageAboveBaseCapacity | Number | 是 | 否 | 節點群組滿足最小隨用隨付執行個體數(OnDemandBaseCapacity)要求後,超出的執行個體中隨用隨付執行個體應占的比例。 | 取值範圍:0~100。 |
SpotInstancePools | Number | 是 | 否 | 指定可用執行個體規格的個數。 | 無 |
BootstrapScripts文法
"BootstrapScripts": [
{
"ScriptPath": String,
"ScriptArgs": String,
"ExecutionFailStrategy": String,
"Priority": Number,
"ScriptName": String,
"ExecutionMoment": String,
"NodeSelector": Map
}
]
BootstrapScripts屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
ScriptPath | String | 是 | 否 | 指令碼所在OSS路徑。 | 以 |
ScriptArgs | String | 否 | 否 | 指令碼執行參數。 | 無 |
ExecutionFailStrategy | String | 否 | 否 | 執行失敗策略。 | 取值:
|
Priority | Number | 否 | 否 | 指令碼執行優先順序。 | 取值範圍:1~100。 |
ScriptName | String | 是 | 否 | 指令碼名稱。 | 長度為1~64個字元,必須以大小寫字母或中文開頭,不能以 |
ExecutionMoment | String | 否 | 否 | 指令碼的執行時機。 | 取值:
|
NodeSelector | Map | 是 | 否 | 節點選取器。 | 無 |
NodeSelector文法
"NodeSelector": {
"NodeGroupTypes": List,
"NodeGroupName": String,
"NodeGroupId": String,
"NodeSelectType": String,
"NodeNames": List
}
NodeSelector屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
NodeGroupTypes | List | 否 | 否 | 節點群組類型。 | 取值:
|
NodeGroupName | String | 否 | 否 | 節點群組名稱。 | 當NodeSelectType取值為NodeGroup且NodeGroupId取值為空白時,本參數生效。 |
NodeGroupId | String | 否 | 否 | 節點群組ID。 | 當NodeSelectType取值為NodeGroup時,本參數生效。 |
NodeSelectType | String | 是 | 否 | 節點選擇類型。 | 取值:
|
NodeNames | List | 否 | 否 | 節點名稱列表。 | 當NodeSelectType取值Node時,本參數生效。 |
SubscriptionConfig文法
"SubscriptionConfig": {
"AutoRenewDurationUnit": String,
"AutoRenew": Boolean,
"PaymentDurationUnit": String,
"PaymentDuration": Number,
"AutoRenewDuration": Number
}
SubscriptionConfig屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
AutoRenewDurationUnit | String | 否 | 否 | 自動續約時間長度單位。 | 取值: Month:月。 |
AutoRenew | Boolean | 否 | 否 | 自動續約。 | 取值:
|
PaymentDurationUnit | String | 否 | 否 | 付費時間長度單位。 | 取值: Month:月。 |
PaymentDuration | Number | 否 | 否 | 付費時間長度。 | 當PaymentDurationUnit取值為Month時,取值為1、2、3、4、5、6、7、8、9、12、24、36、48、60。 |
AutoRenewDuration | Number | 否 | 否 | 自動續約時間長度。 | 當AutoRenew取值為true時,本參數生效。當AutoRenewDurationUnit取值為Month時,取值為1、2、3、4、5、6、7、8、9、12、24、36、48、60。 |
NodeAttributes文法
"NodeAttributes": {
"KeyPairName": String,
"VpcId": String,
"ZoneId": String,
"SecurityGroupId": String,
"RamRole": String,
"MasterRootPassword": String
}
NodeAttributes屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
KeyPairName | String | 否 | 否 | ECS SSH登入密鑰。 | 無 |
VpcId | String | 是 | 否 | 專用網路ID。 | 無 |
ZoneId | String | 是 | 否 | 可用性區域ID。 | 無 |
SecurityGroupId | String | 是 | 否 | 安全性群組ID。 | EMR只支援普通安全性群組,不支援企業安全性群組。 |
RamRole | String | 否 | 否 | ECS訪問資源綁定的角色。 | 預設值:AliyunECSInstanceForEMRRole。 |
MasterRootPassword | String | 否 | 否 | 主節點Root密碼。 | 無 |
Tags文法
"Tags": [
{
"Value": String,
"Key": String
}
]
Tags屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
Value | String | 否 | 否 | 標籤值。 | 非必填,可以為空白字串。最多支援128個字元,不能以 |
Key | String | 是 | 否 | 標籤鍵。 | 必填參數,不允許為空白字串。最多支援128個字元,不能以 |
傳回值
Fn::GetAtt
ClusterId:叢集ID。
ApplicationLinks:叢集應用連結。