Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ALIYUN::EMR::Cluster2

Última atualização: Jun 30, 2026

O recurso ALIYUN::EMR::Cluster2 cria um cluster do E-MapReduce (EMR).

Nota

O recurso ALIYUN::EMR::Cluster é compatível com a API anterior do EMR e está disponível para os tipos de cluster HADOOP, KAFKA, DRUID, ZOOKEEPER, DATA_SCIENCE e GATEWAY. Já o ALIYUN::EMR::Cluster2 oferece suporte à nova API do EMR (2021-03-20) e atende aos tipos de cluster DATALAKE, OLAP, DATAFLOW e DATASERVING. Recomendamos o uso do ALIYUN::EMR::Cluster2 para criar clusters desses tipos.

Sintaxe

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

Propriedades

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Applications

List

Sim

Não

Aplicações a serem adicionadas ao cluster.

É possível adicionar até 100 aplicações ao cluster.

Para mais informações, consulte Propriedade Applications.

ResourceGroupId

String

Não

Não

ID do grupo de recursos.

Nenhuma.

ApplicationConfigs

List

Não

Não

Configurações das aplicações.

Limite de 1.000 configurações de aplicação.

Para mais informações, consulte Propriedades ApplicationConfigs.

ClusterType

String

Sim

Não

Tipo do cluster.

Valores válidos:

  • DATALAKE: data lake

  • OLAP: processamento analítico online (OLAP)

  • DATAFLOW: Dataflow

  • DATASERVING: DataServing

NodeGroups

List

Sim

Não

Configurações dos grupos de nós.

Permite adicionar até 100 configurações de grupo de nós.

Para mais informações, consulte Propriedades NodeGroups.

ReleaseVersion

String

Sim

Não

Versão do EMR.

Nenhuma.

BootstrapScripts

List

Não

Não

Scripts de ação de bootstrap.

Máximo de 10 scripts de ação de bootstrap.

Para mais informações, consulte Propriedades BootstrapScripts.

SubscriptionConfig

Map

Não

Não

Configurações da assinatura.

Especifique esta propriedade quando PaymentType estiver definido como Subscription.

DeployMode

String

Não

Não

Modo de implantação das aplicações no cluster.

Valores válidos:

  • NORMAL: modo regular. Um nó mestre é implantado no cluster.

  • HA: modo de alta disponibilidade. Pelo menos três nós mestres são implantados no cluster.

SecurityMode

String

Não

Não

Modo de segurança do cluster.

Valores válidos:

  • NORMAL: modo regular. O Kerberos não está ativado.

  • KERBEROS: modo Kerberos. O Kerberos está ativado.

NodeAttributes

Map

Sim

Não

Atributos básicos de todos os nós do Elastic Compute Service (ECS) no cluster.

ClusterName

String

Sim

Não

Nome do cluster.

O nome deve ter de 1 a 128 caracteres e não pode começar com http:// ou https://. Pode conter letras, dígitos, dois-pontos (:), sublinhados (_), pontos (.) e hifens (-).

PaymentType

String

Não

Não

Método de faturamento.

Valores válidos:

  • PayAsYouGo: pagamento conforme o uso

  • Subscription: assinatura

Tags

List

Não

Não

Tags do cluster.

Adicione até 20 tags personalizadas.

Para mais informações, consulte Propriedades Tags.

Sintaxe de Applications

"Applications": [
  {
    "ApplicationName": String
  }
]

Propriedade Applications

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

ApplicationName

String

Sim

Não

Nome da aplicação.

Nenhuma.

Sintaxe de ApplicationConfigs

"ApplicationConfigs": [
  {
    "ConfigFileName": String,
    "ApplicationName": String,
    "ConfigItemKey": String,
    "NodeGroupName": String,
    "NodeGroupId": String,
    "ConfigScope": String,
    "ConfigItemValue": String
  }
]

Propriedades ApplicationConfigs

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

ConfigFileName

String

Não

Não

Nome do arquivo de configuração.

Nenhuma.

ApplicationName

String

Sim

Não

Nome da aplicação.

Nenhuma.

ConfigItemKey

String

Não

Não

Nome do item de configuração.

Nenhuma.

NodeGroupName

String

Não

Não

Nome do grupo de nós.

Esta propriedade tem efeito quando ConfigScope está definido como NODE_GROUP e NodeGroupId está vazio.

NodeGroupId

String

Não

Não

ID do grupo de nós.

Esta propriedade tem efeito quando ConfigScope está definido como NODE_GROUP.

Nota

NodeGroupId tem precedência sobre NodeGroupName.

ConfigScope

String

Não

Não

Escopo da configuração.

Valores válidos:

  • CLUSTER (padrão): nível de cluster

  • NODE_GROUP: nível de grupo de nós

ConfigItemValue

String

Não

Não

Valor do item de configuração.

Nenhuma.

Sintaxe de 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
  }
]

Propriedades NodeGroups

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

WithPublicIp

Boolean

Não

Não

Define se um endereço IP público será atribuído.

Valores válidos:

  • true

  • false (padrão)

SpotInstanceRemedy

Boolean

Não

Não

Indica se a complementação de instâncias preemptíveis deve ser ativada. Se ativada, o sistema cria uma instância de substituição quando uma instância preemptível existente está prestes a ser recuperada.

Valores válidos:

  • true

  • false (padrão)

NodeCount

Number

Não

Não

Quantidade de nós.

Valores válidos: 1 a 1000.

NodeGroupName

String

Não

Não

Nome do grupo de nós.

O nome pode ter até 128 caracteres. O nome de um grupo de nós deve ser exclusivo dentro de um cluster.

DataDisks

List

Não

Não

Configurações dos discos de dados.

Para mais informações, consulte Propriedades DataDisks.

VSwitchIds

List

Não

Não

IDs dos vSwitches.

Nenhuma.

SpotBidPrices

List

Não

Não

Preços de lance para instâncias preemptíveis.

Esta propriedade tem efeito quando SpotStrategy está definido como SpotWithPriceLimit.

Nota

É possível especificar até 100 preços de lance.

Para mais informações, consulte Propriedades SpotBidPrices.

NodeResizeStrategy

String

Não

Não

Política de dimensionamento para nós.

Valores válidos:

  • COST_OPTIMIZED: política de otimização de custos

  • PRIORITY (padrão): política baseada em prioridade

SystemDisk

Map

Não

Não

Configurações do disco do sistema.

Para mais informações, consulte Propriedades SystemDisk.

NodeGroupType

String

Sim

Não

Tipo do grupo de nós.

Valores válidos:

  • MASTER

  • CORE

  • TASK

InstanceTypes

List

Sim

Não

Tipos de instância dos nós.

Adicione até 100 tipos de instância.

AdditionalSecurityGroupIds

List

Não

Não

Grupos de segurança adicionais.

Os grupos de segurança adicionais são associados a grupos de nós, não a clusters. É possível adicionar até dois grupos de segurança adicionais.

CostOptimizedConfig

Map

Não

Não

Configurações da política de otimização de custos.

Nenhuma.

GracefulShutdown

Boolean

Não

Não

Define se o desligamento graceful será ativado para componentes no grupo de nós.

Valores válidos:

  • true

  • false (padrão)

DeploymentSetStrategy

String

Não

Não

Política do conjunto de implantação.

Valores válidos:

  • NONE (padrão): não utiliza conjuntos de implantação.

  • CLUSTER: utiliza conjuntos de implantação no nível do cluster.

  • NODE_GROUP: utiliza conjuntos de implantação no nível do grupo de nós.

SpotStrategy

String

Não

Não

Política de lance para a instância de pagamento conforme o uso.

Valores válidos:

  • NoSpot (padrão): A instância é criada como uma instância regular de pagamento conforme o uso.

  • SpotWithPriceLimit: A instância é criada como uma instância preemptível com preço máximo por hora definido pelo usuário.

  • SpotAsPriceGo: A instância é criada como uma instância preemptível cujo preço de lance segue o preço de mercado no momento da compra. O preço de mercado pode chegar ao valor de pagamento conforme o uso.

Sintaxe de DataDisks

"DataDisks": [
  {
    "Category": String,
    "PerformanceLevel": String,
    "Size": Number,
    "Count": Number
  }
]

Propriedades DataDisks

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Category

String

Sim

Não

Categoria do disco.

Nenhuma.

PerformanceLevel

String

Não

Não

Nível de desempenho (PL) do SSD aprimorado (ESSD) usado como disco de dados.

Valores válidos:

  • PL0: Um ESSD oferece até 10.000 IOPS de leitura/gravação aleatória.

  • PL1 (padrão): Um ESSD oferece até 50.000 IOPS de leitura/gravação aleatória.

  • PL2: Um ESSD oferece até 100.000 IOPS de leitura/gravação aleatória.

  • PL3: Um ESSD oferece até 1.000.000 IOPS de leitura/gravação aleatória.

Size

Number

Sim

Não

Tamanho do disco.

Nenhuma.

Count

Number

Não

Não

Número de discos de dados em um nó.

Nenhuma.

Sintaxe de SpotBidPrices

"SpotBidPrices": [
  {
    "BidPrice": Number,
    "InstanceType": String
  }
]

Propriedades SpotBidPrices

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

BidPrice

Number

Não

Não

Preço máximo de lance por hora da instância.

O valor desta propriedade pode conter até três casas decimais. Esta propriedade tem efeito quando SpotStrategy está definido como SpotWithPriceLimit.

InstanceType

String

Não

Não

Tipo de instância ECS.

Nenhuma.

Sintaxe de SystemDisk

"SystemDisk": {
  "Category": String,
  "PerformanceLevel": String,
  "Size": Number,
  "Count": Number
}

Propriedades SystemDisk

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Category

String

Sim

Não

Categoria do disco.

Nenhuma.

PerformanceLevel

String

Não

Não

PL do ESSD usado como disco do sistema.

Valores válidos:

  • PL0: Um ESSD oferece até 10.000 IOPS de leitura/gravação aleatória.

  • PL1 (padrão): Um ESSD oferece até 50.000 IOPS de leitura/gravação aleatória.

  • PL2: Um ESSD oferece até 100.000 IOPS de leitura/gravação aleatória.

  • PL3: Um ESSD oferece até 1.000.000 IOPS de leitura/gravação aleatória.

Size

Number

Sim

Não

Tamanho do disco.

Valores válidos: 20 a 500.

Count

Number

Não

Não

Número de discos do sistema em um nó.

Valor padrão: 1.

Sintaxe de CostOptimizedConfig

"CostOptimizedConfig": {
  "OnDemandBaseCapacity": Number,
  "OnDemandPercentageAboveBaseCapacity": Number,
  "SpotInstancePools": Number
}

Propriedades CostOptimizedConfig

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

OnDemandBaseCapacity

Number

Sim

Não

Número mínimo de instâncias de pagamento conforme o uso necessário nos grupos de nós.

Nenhuma.

OnDemandPercentageAboveBaseCapacity

Number

Sim

Não

Percentual de instâncias de pagamento conforme o uso entre as instâncias extras além do limite OnDemandBaseCapacity.

Valores válidos: 0 a 100.

SpotInstancePools

Number

Sim

Não

Quantidade de tipos de instância disponíveis.

Nenhuma.

Sintaxe de BootstrapScripts

"BootstrapScripts": [
  {
    "ScriptPath": String,
    "ScriptArgs": String,
    "ExecutionFailStrategy": String,
    "Priority": Number,
    "ScriptName": String,
    "ExecutionMoment": String,
    "NodeSelector": Map
  }
]

Propriedades BootstrapScripts

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

ScriptPath

String

Sim

Não

Caminho do OSS onde o script está armazenado.

O caminho deve começar com oss://.

ScriptArgs

String

Não

Não

Parâmetros de execução do script.

Nenhuma.

ExecutionFailStrategy

String

Não

Não

Política de tratamento de falha na execução.

Valores válidos:

  • FAILED_CONTINUE: O sistema continua a criação do cluster ou a operação de dimensionamento após a falha do script.

  • FAILED_BLOCK: O sistema interrompe a criação do cluster ou a operação de dimensionamento após a falha do script.

Priority

Number

Não

Não

Prioridade do script.

Valores válidos: 1 a 100.

ScriptName

String

Sim

Não

Nome do script.

O nome deve ter de 1 a 64 caracteres e pode conter letras, dígitos, sublinhados (_) e hifens (-). Deve começar com uma letra e não pode iniciar com http:// ou https://.

ExecutionMoment

String

Não

Não

Momento de execução do script.

Valores válidos:

  • BEFORE_INSTALL: O script executa antes da instalação da aplicação.

  • AFTER_STARTED: O script executa após o início da aplicação.

NodeSelector

Map

Sim

Não

Configurações do seletor de nós.

Nenhuma.

Sintaxe de NodeSelector

"NodeSelector": {
  "NodeGroupTypes": List,
  "NodeGroupName": String,
  "NodeGroupId": String,
  "NodeSelectType": String,
  "NodeNames": List
}

Propriedades NodeSelector

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

NodeGroupTypes

List

Não

Não

Tipo do grupo de nós.

Valores válidos:

  • MASTER

  • CORE

  • TASK

NodeGroupName

String

Não

Não

Nome do grupo de nós.

Esta propriedade tem efeito quando NodeSelectType está definido como NodeGroup e NodeGroupId está vazio.

NodeGroupId

String

Não

Não

ID do grupo de nós.

Esta propriedade tem efeito quando NodeSelectType está definido como NodeGroup.

NodeSelectType

String

Sim

Não

Escopo de seleção de nós.

Valores válidos:

  • CLUSTER: nível de cluster

  • NODE_GROUP: nível de grupo de nós

  • NODE: nível de nó

NodeNames

List

Não

Não

Nomes dos nós.

Esta propriedade tem efeito quando NodeSelectType está definido como Node.

Sintaxe de SubscriptionConfig

"SubscriptionConfig": {
  "AutoRenewDurationUnit": String,
  "AutoRenew": Boolean,
  "PaymentDurationUnit": String,
  "PaymentDuration": Number,
  "AutoRenewDuration": Number
}

Propriedades SubscriptionConfig

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

AutoRenewDurationUnit

String

Não

Não

Unidade da duração da renovação automática.

Defina o valor como Month.

AutoRenew

Boolean

Não

Não

Define se a renovação automática será ativada.

Valores válidos:

  • true

  • false (padrão)

PaymentDurationUnit

String

Não

Não

Unidade da duração da assinatura.

Defina o valor como Month.

PaymentDuration

Number

Não

Não

Duração da assinatura.

Valores válidos quando PaymentDurationUnit está definido como Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48 e 60.

AutoRenewDuration

Number

Não

Não

Duração da renovação automática.

Esta propriedade tem efeito quando AutoRenew está definido como true. Valores válidos quando AutoRenewDurationUnit está definido como Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48 e 60.

Sintaxe de NodeAttributes

"NodeAttributes": {
  "KeyPairName": String,
  "VpcId": String,
  "ZoneId": String,
  "SecurityGroupId": String,
  "RamRole": String,
  "MasterRootPassword": String
}

Propriedades NodeAttributes

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

KeyPairName

String

Não

Não

Par de chaves SSH para login nas instâncias ECS.

Nenhuma.

VpcId

String

Sim

Não

ID da Virtual Private Cloud (VPC).

Nenhuma.

ZoneId

String

Sim

Não

ID da zona.

Nenhuma.

SecurityGroupId

String

Sim

Não

ID do grupo de segurança.

O EMR oferece suporte apenas a grupos de segurança básicos, não a grupos de segurança avançados.

RamRole

String

Não

Não

Função do Resource Access Management (RAM) anexada ao EMR para acessar outros recursos do Alibaba Cloud a partir do ECS.

Valor padrão: AliyunECSInstanceForEMRRole.

MasterRootPassword

String

Não

Não

Senha de root do nó mestre.

Nenhuma.

Sintaxe de Tags

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

Propriedades Tags

Propriedade

Tipo

Obrigatória

Editável

Descrição

Restrição

Value

String

Não

Não

Valor da tag.

Esta propriedade é opcional e pode ser uma string vazia. O valor da tag pode ter até 128 caracteres e não pode conter http:// ou https://. Não pode começar com acs:.

Key

String

Sim

Não

Chave da tag.

Esta propriedade é obrigatória e não pode ser uma string vazia. A chave da tag pode ter até 128 caracteres e não pode conter http:// ou https://. Não pode começar com aliyun ou acs:.

Valores de retorno

Fn::GetAtt

  • ClusterId: o ID do cluster.

  • ApplicationLinks: os links das aplicações no cluster.

Exemplos

Formato YAML

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Applications:
    Type: Json
    Description: 'Application List. The value range of the number n of the number N group: 1 ~ 100.'
  ClusterType:
    Type: String
    Description: |-
      Cluster type.Ranges:
      Datalake: The new version of the data lake.
      OLAP: Data analysis.
      DataFlow: Real -time data stream.
      DataServing: Data service.
      Hadoop: The old version of the data lake (not recommended, it is recommended to use the new version of the data lake).
    AllowedValues:
      - DATAFLOW
      - DATALAKE
      - DATASERVING
      - HADOOP
      - OLAP
  NodeGroups:
    Type: Json
    Description: 'The node group configuration array. The value range of the number n of the number N group: 1 ~ 100.'
    MinLength: 1
    MaxLength: 100
  ReleaseVersion:
    Type: String
    Description: EMR release version.View EMR distribution versions can be viewed through the EMR cluster.
  NodeAttributes:
    Type: Json
    Description: Node attributes.All ECS nodes basic attributes of the cluster.
  ClusterName:
    Type: String
    Description: 'Cluster name.The length is 1 ~ 128 characters, and the alphabet or Chinese must be started. It cannot start with http:// and https: //.It can include Chinese, English, numbers, half-horn colons (:), down line (_), half-angle period (.) Or short lines (-)'
Resources:
  Cluster:
    Type: ALIYUN::EMR::Cluster2
    Properties:
      Applications:
        Ref: Applications
      ClusterType:
        Ref: ClusterType
      NodeGroups:
        Ref: NodeGroups
      ReleaseVersion:
        Ref: ReleaseVersion
      NodeAttributes:
        Ref: NodeAttributes
      ClusterName:
        Ref: ClusterName
Outputs:
  ClusterId:
    Description: Cluster ID.
    Value:
      Fn::GetAtt:
        - Cluster
        - ClusterId

Formato JSON

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Applications": {
      "Type": "Json",
      "Description": "Application List. The value range of the number n of the number N group: 1 ~ 100."
    },
    "ClusterType": {
      "Type": "String",
      "Description": "Cluster type.Ranges:\nDatalake: The new version of the data lake.\nOLAP: Data analysis.\nDataFlow: Real -time data stream.\nDataServing: Data service.\nHadoop: The old version of the data lake (not recommended, it is recommended to use the new version of the data lake).",
      "AllowedValues": [
        "DATAFLOW",
        "DATALAKE",
        "DATASERVING",
        "HADOOP",
        "OLAP"
      ]
    },
    "NodeGroups": {
      "Type": "Json",
      "Description": "The node group configuration array. The value range of the number n of the number N group: 1 ~ 100.",
      "MinLength": 1,
      "MaxLength": 100
    },
    "ReleaseVersion": {
      "Type": "String",
      "Description": "EMR release version.View EMR distribution versions can be viewed through the EMR cluster."
    },
    "NodeAttributes": {
      "Type": "Json",
      "Description": "Node attributes.All ECS nodes basic attributes of the cluster."
    },
    "ClusterName": {
      "Type": "String",
      "Description": "Cluster name.The length is 1 ~ 128 characters, and the alphabet or Chinese must be started. It cannot start with http:// and https: //.It can include Chinese, English, numbers, half-horn colons (:), down line (_), half-angle period (.) Or short lines (-)"
    }
  },
  "Resources": {
    "Cluster": {
      "Type": "ALIYUN::EMR::Cluster2",
      "Properties": {
        "Applications": {
          "Ref": "Applications"
        },
        "ClusterType": {
          "Ref": "ClusterType"
        },
        "NodeGroups": {
          "Ref": "NodeGroups"
        },
        "ReleaseVersion": {
          "Ref": "ReleaseVersion"
        },
        "NodeAttributes": {
          "Ref": "NodeAttributes"
        },
        "ClusterName": {
          "Ref": "ClusterName"
        }
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Description": "Cluster ID.",
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "ClusterId"
        ]
      }
    }
  }
}