全部產品
Search
文件中心

:ALIYUN::EMR::Cluster

更新時間:Mar 27, 2025

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。

取值:

  • true:開啟。

  • false:關閉。

EasEnable

Boolean

是否為高安全叢集。

取值:

  • true:高安全叢集。

  • false:非高安全叢集。

WhiteListType

String

白名單類型。

取值:

  • IP:IP白名單分組。

  • SecurityGroup:安全性群組。

InitCustomHiveMetaDB

Boolean

保留欄位,無需填寫。

IoOptimized

Boolean

是否開啟IO最佳化。

取值:

  • true(預設值):開啟。

  • false:關閉。

HostGroup

List

機器組。

更多資訊,請參見HostGroup屬性

Config

List

自訂配置項。

更多資訊,請參見Config屬性

KeyPairName

String

金鑰組名稱。

VpcId

String

專用網路ID。

AutoRenew

Boolean

訂用帳戶叢集是否自動續約。

取值:

  • true:自動續約。

  • false:不自動續約。

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

叢集類型。

取值:

  • HADOOP

  • KAFKA

  • DRUID

  • ZOOKEEPER

  • DATA_SCIENCE

  • GATEWAY

ZoneId

String

可用性區域ID。

IsOpenPublicIp

Boolean

是否開啟公網IP地址。

取值:

  • true:開啟。開啟後預設支援8 MB頻寬。

  • false:關閉。

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

是否開啟高可用叢集。

取值:

  • true:開啟。開啟後需要至少包含2個Master節點。

  • false:關閉。

UseCustomHiveMetaDB

Boolean

保留欄位,無需填寫。

UserInfo

List

使用者資訊。

更多資訊,請參見UserInfo屬性

ChargeType

String

付費類型。

取值:

  • PostPaid:隨用隨付。

  • PrePaid:訂用帳戶。

AuthorizeContent

String

保留欄位,無需填寫。

UseLocalMetaDb

Boolean

是否使用叢集內建MySQL作為Hive中繼資料庫。

取值:

  • true:使用。

  • false:不使用。

MetaStoreConf

String

中繼資料配置。

MetaStoreType取值為user_rds時,必須指定該參數。

格式:{"dbUrl":"jdbc:mysql://xxxxxx", "dbUserName":"username", "dbPassword":"password"}

MetaStoreType

String

中繼資料類型。

取值:

  • local:叢集內建MySQL服務。

  • dlf:DLF中繼資料服務。

  • user_rds:使用者自建RDS服務。

ClickHouseConf

Map

ClickHouse叢集配置。

ResourceGroupId

String

資源群組ID。

Tags

List

使用者自訂標籤。

更多資訊,請參見Tags屬性

Tags文法

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

長度為1~128個字元。

不能以aliyunacs:開頭,不能包含http://https://

Value

String

標籤值。

長度為0~128個字元。

不能以aliyunacs:開頭,不能包含http://https://

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

機器組的系統硬碟類型。

取值:

  • CLOUD_EFFICIENCY:高效雲端硬碟。

  • CLOUD_SSD:SSD雲端硬碟。

  • CLOUD:普通雲端硬碟。

DiskCapacity

Integer

機器組的資料盤容量。

單位:GB。

NodeCount

Integer

機器組節點數。

ClusterId

String

保留欄位,無需填寫。

DiskCount

Integer

機器組的資料盤數量。

CreateType

String

機器組的建立類型。

取值:

  • ON-DEMAND:按需建立。

  • MANUAL:手動建立。

DiskType

String

機器組的資料盤類型。

取值:

  • CLOUD_EFFICIENCY:高效雲端硬碟。

  • CLOUD_SSD:SSD雲端硬碟。

  • LOCAL_DISK:本地碟ECS執行個體類型只能填該值。

  • CLOUD:普通雲端硬碟。

AutoRenew

Boolean

訂用帳戶叢集是否自動續約。

取值:

  • true:自動續約。

  • false:不自動付費。

HostGroupType

String

機器群組類型。

取值:

  • MASTER:主執行個體組。

  • CORE:核心執行個體組。

  • TASK:計算執行個體組。

SysDiskCapacity

Integer

機器組的系統硬碟容量。

單位:GB。

VSwitchId

String

交換器ID。

ChargeType

String

付費類型。

取值:

  • PostPaid:隨用隨付。

  • PrePaid:訂用帳戶。

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