O recurso ALIYUN::EMR::Cluster cria um cluster do E-MapReduce (EMR).
O ALIYUN::EMR::Cluster oferece suporte à API do EMR da versão anterior e está disponível para clusters dos tipos HADOOP, KAFKA, DRUID, ZOOKEEPER, DATA_SCIENCE e GATEWAY. O ALIYUN::EMR::Cluster2 suporta a API do EMR da nova versão (2021-03-20) e atende aos tipos DATALAKE, OLAP, DATAFLOW e DATASERVING. Recomendamos o uso do ALIYUN::EMR::Cluster2 para criar clusters desses tipos.
Sintaxe
{
"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
}
}
Propriedades
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
SshEnable | Boolean | Não | Não | Define se o SSH deve ser ativado. | Valores válidos:
|
EasEnable | Boolean | Não | Não | Indica se o cluster é de alta segurança. | Valores válidos:
|
WhiteListType | String | Não | Não | Tipo da lista de permissões. | Valores válidos:
|
InitCustomHiveMetaDB | Boolean | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
IoOptimized | Boolean | Não | Não | Define se a otimização de E/S deve ser habilitada. | Valores válidos:
|
HostGroup | List | Sim | Não | Grupos de nós do cluster. | Para mais informações, consulte Propriedades de HostGroup. |
Config | List | Não | Não | Detalhes dos itens de configuração personalizada. | Para mais informações, consulte Propriedades de Config. |
KeyPairName | String | Não | Não | Nome do par de chaves. | Nenhuma. |
VpcId | String | Não | Não | ID da Virtual Private Cloud (VPC). | Nenhuma. |
AutoRenew | Boolean | Não | Não | Define se a renovação automática para clusters por assinatura deve ser ativada. | Valores válidos:
|
RelatedClusterId | String | Não | Não | ID do cluster EMR associado ao cluster gateway. | Esta propriedade entra em vigor quando ClusterType é definido como GATEWAY. |
BootstrapAction | List | Não | Não | Detalhes das ações de bootstrap a serem configuradas no cluster. | Para mais informações, consulte Propriedades de BootstrapAction. |
InstanceGeneration | String | Não | Não | Família da instância do Elastic Compute Service (ECS). | Nenhuma. |
VSwitchId | String | Não | Não | ID do vSwitch. | Nenhuma. |
NetType | String | Sim | Não | Tipo de rede. | Defina o valor como VPC. |
UserDefinedEmrEcsRole | String | Não | Não | Função de aplicação ECS que permite acesso interno do ECS a outros serviços da Alibaba Cloud, como o Object Storage Service (OSS). | Nenhuma. |
Name | String | Sim | Sim | Nome do cluster. | Deve ter entre 1 e 64 caracteres, podendo conter letras, dígitos, hifens (-) e sublinhados (_). |
ClusterType | String | Sim | Não | Tipo do cluster. | Valores válidos:
|
ZoneId | String | Sim | Não | ID da zona. | Nenhuma. |
IsOpenPublicIp | Boolean | Não | Não | Define se endereços IP públicos devem ser utilizados. | Valores válidos:
|
OptionSoftWareList | List | Não | Não | Lista de softwares disponíveis. | Nenhuma. |
Configurations | String | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
MasterPwd | String | Não | Não | Senha SSH para acessar o nó mestre. | A senha deve ter entre 8 e 30 caracteres e incluir pelo menos três dos seguintes tipos: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais. |
MachineType | String | Não | Não | Tipo do nó. | Nenhuma. |
EmrVer | String | Sim | Não | Versão do EMR. | Nenhuma. |
SecurityGroupName | String | Não | Não | Nome do grupo de segurança. | Caso SecurityGroupId não seja especificado, o sistema cria um novo grupo de segurança com base no valor de SecurityGroupName. Após a criação do cluster, consulte o ID do grupo de segurança na página de detalhes do cluster. A política padrão é aplicada automaticamente, permitindo tráfego de entrada apenas na porta 22 e tráfego de saída em todas as portas. |
DepositType | String | Não | Não | Tipo de hospedagem do cluster. | Nenhuma. |
SecurityGroupId | String | Não | Não | ID do grupo de segurança. | Ao utilizar um grupo de segurança existente, a política padrão é aplicada. Essa configuração libera tráfego de entrada somente na porta 22 e tráfego de saída em todas as portas. |
LogPath | String | Não | Não | Caminho no OSS para armazenamento dos logs do EMR. | Nenhuma. |
Period | Integer | Não | Não | Duração da assinatura do cluster. | Esta propriedade é obrigatória quando ChargeType for PrePaid. Valores válidos: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24 e 36. Unidade: mês. |
HighAvailabilityEnable | Boolean | Não | Não | Ativa ou desativa a alta disponibilidade do cluster. | Valores válidos:
|
UseCustomHiveMetaDB | Boolean | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
UserInfo | List | Não | Não | Informações sobre a conta Knox. | Para mais informações, consulte Propriedades de UserInfo. |
ChargeType | String | Sim | Não | Método de faturamento do cluster. | Valores válidos:
|
AuthorizeContent | String | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
UseLocalMetaDb | Boolean | Sim | Não | Define se o banco de dados MySQL integrado do cluster será usado como metadatabase do Hive. | Valores válidos:
|
MetaStoreConf | String | Não | Não | Configurações de metadados. | Obrigatório quando MetaStoreType for user_rds. Especifique MetaStoreConf no seguinte formato: |
MetaStoreType | String | Não | Não | Tipo de metadados. | Valores válidos:
|
ClickHouseConf | Map | Não | Não | Configurações do cluster ApsaraDB for ClickHouse. | Nenhuma. |
ResourceGroupId | String | Não | Sim | ID do grupo de recursos. | Nenhuma. |
Tags | List | Não | Sim | Tags a serem adicionadas ao cluster. | Para mais informações, consulte Propriedades de Tags. |
Sintaxe de Tags
"Tags": [
{
"Value": String,
"Key": String
}
]
Propriedades de Tags
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Key |
String |
Sim |
Não |
Chave da tag. |
Deve ter entre 1 e 128 caracteres, e não pode conter |
|
Value |
String |
Não |
Não |
Valor da tag. |
Pode ter até 128 caracteres, e não pode conter |
Sintaxe de 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
}
]
Propriedades de HostGroup
Propriedade | Tipo | Obrigatório | Editável | Descrição | Restrição |
Comment | String | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
SysDiskType | String | Sim | Não | Categoria do disco de sistema do grupo de nós. | Valores válidos:
|
DiskCapacity | Integer | Sim | Não | Capacidade do disco de dados do grupo de nós. | Unidade: GB. |
NodeCount | Integer | Sim | Não | Quantidade de nós no grupo de nós. | Nenhuma. |
ClusterId | String | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
DiskCount | Integer | Sim | Não | Número de discos de dados a serem anexados ao grupo de nós. | Nenhuma. |
CreateType | String | Não | Não | Modo de criação do grupo de nós. | Valores válidos:
|
DiskType | String | Sim | Não | Categoria do disco de dados do grupo de nós. | Valores válidos:
|
AutoRenew | Boolean | Não | Não | Define se a renovação automática para clusters por assinatura deve ser ativada. | Valores válidos:
|
HostGroupType | String | Sim | Não | Tipo do grupo de nós. | Valores válidos:
|
SysDiskCapacity | Integer | Sim | Não | Capacidade do disco de sistema do grupo de nós. | Unidade: GB. |
VSwitchId | String | Não | Não | ID do vSwitch. | Nenhuma. |
ChargeType | String | Sim | Não | Método de faturamento. | Valores válidos:
|
Period | Integer | Não | Não | Duração da assinatura. | Obrigatório quando ChargeType for PrePaid. Valores válidos: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24 e 36. Unidade: mês. |
HostKeyPairName | String | Não | Não | Nome do par de chaves usado para acessar o grupo de nós. | Esta propriedade entra em vigor quando ClusterType é definido como GATEWAY. |
HostPassword | String | Não | Não | Senha utilizada para acessar o nó. | Esta propriedade entra em vigor quando ClusterType é definido como GATEWAY. |
HostGroupId | String | Não | Não | Propriedade reservada. Não especifique este valor. | Nenhuma. |
InstanceType | String | Sim | Não | Tipo da instância. | Nenhuma. |
GpuDriver | String | Não | Não | Driver da GPU. | Nenhuma. |
HostGroupName | String | Não | Não | Nome do grupo de nós. | Nenhuma. |
Sintaxe de Config
"Config": [
{
"Encrypt": String,
"ConfigKey": String,
"FileName": String,
"ServiceName": String,
"Replace": String,
"ConfigValue": String
}
]
Propriedades de Config
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Encrypt |
String |
Não |
Não |
Propriedade reservada. Não especifique este valor. |
Nenhuma. |
|
ConfigKey |
String |
Não |
Não |
Nome do item de configuração personalizada. |
Nenhuma. |
|
FileName |
String |
Não |
Não |
Nome do arquivo que contém o item de configuração personalizada. |
Nenhuma. |
|
ServiceName |
String |
Não |
Não |
Nome do serviço ao qual o item de configuração personalizada pertence. |
Nenhuma. |
|
Replace |
String |
Não |
Não |
Propriedade reservada. Não especifique este valor. |
Nenhuma. |
|
ConfigValue |
String |
Não |
Não |
Valor do item de configuração personalizada. |
Nenhuma. |
Sintaxe de BootstrapAction
"BootstrapAction": [
{
"Path": String,
"Name": String,
"Arg": String
}
]
Propriedades de BootstrapAction
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
Path |
String |
Não |
Não |
Caminho no OSS onde o script da ação de bootstrap será armazenado. |
Nenhuma. |
|
Name |
String |
Não |
Não |
Nome da ação de bootstrap. |
Nenhuma. |
|
Arg |
String |
Não |
Não |
Parâmetro da ação de bootstrap. |
Nenhuma. |
Sintaxe de UserInfo
"UserInfo": [
{
"UserName": String,
"Password": String,
"UserId": String
}
]
Propriedades de UserInfo
|
Propriedade |
Tipo |
Obrigatório |
Editável |
Descrição |
Restrição |
|
UserName |
String |
Não |
Não |
Nome de usuário da conta Knox. |
Nenhuma. |
|
Password |
String |
Não |
Não |
Senha da conta Knox. |
Nenhuma. |
|
UserId |
String |
Não |
Não |
ID do usuário RAM da conta Knox. |
Nenhuma. |
Valores de retorno
Fn::GetAtt
ClusterId: ID do cluster.
HostGroups: grupos de nós do cluster.
MasterNodePubIps: endereços IP públicos dos nós mestres do cluster.
MasterNodeInnerIps: endereços IP privados dos nós mestres do cluster.
Arn: Alibaba Cloud Resource Name (ARN).
Exemplos
ROSTemplateFormatVersion: '2015-09-01'
Description: Test EMR Cluster
Parameters:
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Label:
en: Existing VPC Instance ID
ZoneId:
AssociationProperty: ALIYUN::ECS::ZoneId
Type: String
Label:
en: VSwitch Zone ID
VSwitchId:
AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
Type: String
Label:
en: VSwitch ID
SecurityGroupId:
AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
AssociationPropertyMetadata:
VpcId: ${VpcId}
Type: String
Description:
Label:
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": {
"en": "Existing VPC Instance ID"
}
},
"ZoneId": {
"AssociationProperty": "ALIYUN::ECS::ZoneId",
"Type": "String",
"Label": {
"en": "VSwitch Zone ID"
}
},
"VSwitchId": {
"AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"Type": "String",
"Label": {
"en": "VSwitch ID"
}
},
"SecurityGroupId": {
"AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}"
},
"Type": "String",
"Description": {
"Label": {
"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"
]
}
}
}
}