ALIYUN::EMR::Cluster se usa para crear un clúster de E-MapReduce (EMR).
ALIYUN::EMR::Cluster es compatible con la API de EMR de la versión anterior y está disponible para clústeres de los tipos HADOOP, KAFKA, DRUID, ZOOKEEPER, DATA_SCIENCE y GATEWAY. ALIYUN::EMR::Cluster2 admite la API de EMR de la nueva versión (2021-03-20) y está disponible para clústeres de los tipos DATALAKE, OLAP, DATAFLOW y DATASERVING. Se recomienda usar ALIYUN::EMR::Cluster2 para crear clústeres de estos tipos.
Sintaxis
{
"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
}
}
Propiedades
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricción |
SshEnable | Boolean | No | No | Indica si se habilita SSH. | Valores válidos:
|
EasEnable | Boolean | No | No | Indica si el clúster es de alta seguridad. | Valores válidos:
|
WhiteListType | String | No | No | Tipo de lista de permitidos. | Valores válidos:
|
InitCustomHiveMetaDB | Boolean | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
IoOptimized | Boolean | No | No | Indica si se habilita la optimización de E/S. | Valores válidos:
|
HostGroup | List | Sí | No | Grupos de nodos del clúster. | Para más información, consulte HostGroup properties. |
Config | List | No | No | Detalles de los elementos de configuración personalizada. | Para más información, consulte Config properties. |
KeyPairName | String | No | No | Nombre del key pair. | Ninguna. |
VpcId | String | No | No | ID de la virtual private cloud (VPC). | Ninguna. |
AutoRenew | Boolean | No | No | Indica si se habilita la renovación automática para clústeres de suscripción. | Valores válidos:
|
RelatedClusterId | String | No | No | ID del clúster de EMR asociado al clúster de gateway. | Esta propiedad surte efecto cuando ClusterType se establece en GATEWAY. |
BootstrapAction | List | No | No | Detalles de las acciones de arranque que desea configurar para el clúster. | Para más información, consulte BootstrapAction properties. |
InstanceGeneration | String | No | No | Familia de instancias de Elastic Compute Service (ECS). | Ninguna. |
VSwitchId | String | No | No | ID del vSwitch. | Ninguna. |
NetType | String | Sí | No | Tipo de red. | Establezca el valor en VPC. |
UserDefinedEmrEcsRole | String | No | No | Rol de aplicación de ECS que permite el acceso interno desde ECS a otros servicios de Alibaba Cloud, como Object Storage Service (OSS). | Ninguna. |
Name | String | Sí | Sí | Nombre del clúster. | El nombre debe tener entre 1 y 64 caracteres, y puede contener letras, dígitos, guiones (-) y guiones bajos (_). |
ClusterType | String | Sí | No | Tipo de clúster. | Valores válidos:
|
ZoneId | String | Sí | No | ID de la zona. | Ninguna. |
IsOpenPublicIp | Boolean | No | No | Indica si se usan direcciones IP públicas. | Valores válidos:
|
OptionSoftWareList | List | No | No | Lista de software disponible. | Ninguna. |
Configurations | String | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
MasterPwd | String | No | No | Contraseña SSH usada para acceder al nodo maestro. | La contraseña debe tener entre 8 y 30 caracteres. Debe contener como mínimo tres de los siguientes tipos de caracteres: letras mayúsculas, letras minúsculas, dígitos y caracteres especiales. |
MachineType | String | No | No | Tipo de nodo. | Ninguna. |
EmrVer | String | Sí | No | Versión de EMR. | Ninguna. |
SecurityGroupName | String | No | No | Nombre del security group. | Si no especifica SecurityGroupId, el sistema crea un nuevo security group basado en el valor de SecurityGroupName. Una vez creado el clúster, puede consultar el ID del security group en la página de detalles del clúster. La directiva predeterminada del security group se aplica al grupo. Esta directiva predeterminada permite únicamente tráfico entrante por el puerto 22 y tráfico saliente por todos los puertos. |
DepositType | String | No | No | Tipo de hosting del clúster. | Ninguna. |
SecurityGroupId | String | No | No | ID del security group. | Si desea usar un security group existente, se le aplicará la directiva predeterminada. Dicha directiva permite únicamente tráfico entrante por el puerto 22 y tráfico saliente por todos los puertos. |
LogPath | String | No | No | Ruta de OSS donde desea almacenar los registros de EMR. | Ninguna. |
Period | Integer | No | No | Duración de la suscripción del clúster. | Debe especificar esta propiedad cuando ChargeType se establece en PrePaid. Valores válidos: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24 y 36. Unidad: mes. |
HighAvailabilityEnable | Boolean | No | No | Indica si se habilita la alta disponibilidad para el clúster. | Valores válidos:
|
UseCustomHiveMetaDB | Boolean | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
UserInfo | List | No | No | Información sobre la cuenta de Knox. | Para más información, consulte UserInfo properties. |
ChargeType | String | Sí | No | Método de facturación del clúster. | Valores válidos:
|
AuthorizeContent | String | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
UseLocalMetaDb | Boolean | Sí | No | Indica si se usa la base de datos MySQL integrada del clúster como metabase de Hive. | Valores válidos:
|
MetaStoreConf | String | No | No | Configuraciones de metadatos. | Debe especificar esta propiedad cuando MetaStoreType se establece en user_rds. Especifique MetaStoreConf con el siguiente formato: |
MetaStoreType | String | No | No | Tipo de metadatos. | Valores válidos:
|
ClickHouseConf | Map | No | No | Configuraciones del clúster de ApsaraDB for ClickHouse. | Ninguna. |
ResourceGroupId | String | No | Sí | ID del resource group. | Ninguna. |
Tags | List | No | Sí | Etiquetas que desea agregar al clúster. | Para más información, consulte Tags properties. |
Sintaxis de Tags
"Tags": [
{
"Value": String,
"Key": String
}
]
Propiedades de Tags
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
Key |
String |
Sí |
No |
Clave de la etiqueta. |
La clave de la etiqueta debe tener entre 1 y 128 caracteres, y no puede contener |
|
Value |
String |
No |
No |
Valor de la etiqueta. |
El valor de la etiqueta puede tener hasta 128 caracteres, y no puede contener |
Sintaxis 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
}
]
Propiedades de HostGroup
Propiedad | Tipo | Obligatorio | Editable | Descripción | Restricción |
Comment | String | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
SysDiskType | String | Sí | No | Categoría del disco del sistema del grupo de nodos. | Valores válidos:
|
DiskCapacity | Integer | Sí | No | Capacidad del disco de datos del grupo de nodos. | Unidad: GB. |
NodeCount | Integer | Sí | No | Número de nodos en el grupo de nodos. | Ninguna. |
ClusterId | String | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
DiskCount | Integer | Sí | No | Número de discos de datos que desea adjuntar al grupo de nodos. | Ninguna. |
CreateType | String | No | No | Modo mediante el cual se crea el grupo de nodos. | Valores válidos:
|
DiskType | String | Sí | No | Categoría del disco de datos del grupo de nodos. | Valores válidos:
|
AutoRenew | Boolean | No | No | Indica si se habilita la renovación automática para clústeres de suscripción. | Valores válidos:
|
HostGroupType | String | Sí | No | Tipo de grupo de nodos. | Valores válidos:
|
SysDiskCapacity | Integer | Sí | No | Capacidad del disco del sistema del grupo de nodos. | Unidad: GB. |
VSwitchId | String | No | No | ID del vSwitch. | Ninguna. |
ChargeType | String | Sí | No | Método de facturación. | Valores válidos:
|
Period | Integer | No | No | Duración de la suscripción. | Debe especificar esta propiedad cuando ChargeType se establece en PrePaid. Valores válidos: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24 y 36. Unidad: mes. |
HostKeyPairName | String | No | No | Nombre del key pair usado para acceder al grupo de nodos. | Esta propiedad surte efecto cuando ClusterType se establece en GATEWAY. |
HostPassword | String | No | No | Contraseña usada para acceder al nodo. | Esta propiedad surte efecto cuando ClusterType se establece en GATEWAY. |
HostGroupId | String | No | No | Propiedad reservada. No es necesario especificar esta propiedad. | Ninguna. |
InstanceType | String | Sí | No | Tipo de instancia. | Ninguna. |
GpuDriver | String | No | No | Controlador de GPU. | Ninguna. |
HostGroupName | String | No | No | Nombre del grupo de nodos. | Ninguna. |
Sintaxis de Config
"Config": [
{
"Encrypt": String,
"ConfigKey": String,
"FileName": String,
"ServiceName": String,
"Replace": String,
"ConfigValue": String
}
]
Propiedades de Config
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
Encrypt |
String |
No |
No |
Propiedad reservada. No es necesario especificar esta propiedad. |
Ninguna. |
|
ConfigKey |
String |
No |
No |
Nombre del elemento de configuración personalizada. |
Ninguna. |
|
FileName |
String |
No |
No |
Nombre del archivo que contiene el elemento de configuración personalizada. |
Ninguna. |
|
ServiceName |
String |
No |
No |
Nombre del servicio al que pertenece el elemento de configuración personalizada. |
Ninguna. |
|
Replace |
String |
No |
No |
Propiedad reservada. No es necesario especificar esta propiedad. |
Ninguna. |
|
ConfigValue |
String |
No |
No |
Valor del elemento de configuración personalizada. |
Ninguna. |
Sintaxis de BootstrapAction
"BootstrapAction": [
{
"Path": String,
"Name": String,
"Arg": String
}
]
Propiedades de BootstrapAction
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
Path |
String |
No |
No |
Ruta de OSS donde desea almacenar el script de la acción de arranque. |
Ninguna. |
|
Name |
String |
No |
No |
Nombre de la acción de arranque. |
Ninguna. |
|
Arg |
String |
No |
No |
Parámetro de la acción de arranque. |
Ninguna. |
Sintaxis de UserInfo
"UserInfo": [
{
"UserName": String,
"Password": String,
"UserId": String
}
]
Propiedades de UserInfo
|
Propiedad |
Tipo |
Obligatorio |
Editable |
Descripción |
Restricción |
|
UserName |
String |
No |
No |
Nombre de usuario de la cuenta de Knox. |
Ninguna. |
|
Password |
String |
No |
No |
Contraseña de la cuenta de Knox. |
Ninguna. |
|
UserId |
String |
No |
No |
ID de usuario de RAM de la cuenta de Knox. |
Ninguna. |
Valores de retorno
Fn::GetAtt
ClusterId: ID del clúster.
HostGroups: grupos de nodos del clúster.
MasterNodePubIps: direcciones IP públicas de los nodos maestros del clúster.
MasterNodeInnerIps: direcciones IP privadas de los nodos maestros del clúster.
Arn: Alibaba Cloud Resource Name (ARN).
Ejemplos
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"
]
}
}
}
}