O recurso ALIYUN::EMR::Cluster2 cria um cluster do E-MapReduce (EMR).
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:
|
|
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:
|
|
SecurityMode |
String |
Não |
Não |
Modo de segurança do cluster. |
Valores válidos:
|
|
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 |
|
PaymentType |
String |
Não |
Não |
Método de faturamento. |
Valores válidos:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
DeploymentSetStrategy |
String |
Não |
Não |
Política do conjunto de implantação. |
Valores válidos:
|
|
SpotStrategy |
String |
Não |
Não |
Política de lance para a instância de pagamento conforme o uso. |
Valores válidos:
|
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:
|
|
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:
|
|
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 |
|
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:
|
|
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 |
|
ExecutionMoment |
String |
Não |
Não |
Momento de execução do script. |
Valores válidos:
|
|
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:
|
|
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:
|
|
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:
|
|
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 |
|
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 |
Valores de retorno
Fn::GetAtt
ClusterId: o ID do cluster.
ApplicationLinks: os links das aplicações no cluster.