Configuración de grupos de instancias uniformes - Amazon EMR

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de grupos de instancias uniformes

Con la configuración de grupos de instancias, cada tipo de nodo (principal, secundario o de tareas) se compone del mismo tipo de instancia y las mismas opciones de compra para las instancias: bajo demanda o de spot. Estos ajustes se especifican al crear un grupo de instancias. No se pueden cambiar más adelante. Puede, sin embargo, añadir instancias del mismo tipo y opción de compra a los grupos instancias secundarias y de tareas. También puede eliminar instancias.

Si las instancias bajo demanda del clúster coinciden con los atributos de las reservas de capacidad abiertas (tipo de instancia, plataforma, tenencia y zona de disponibilidad) disponibles en su cuenta, las reservas de capacidad se aplican automáticamente. Puede usar reservas de capacidad abiertas para los nodos principales, básicos y de tarea. Sin embargo, no puede utilizar reservas de capacidad específicas ni impedir que las instancias se lancen en reservas de capacidad abiertas con atributos coincidentes al aprovisionar clústeres mediante grupos de instancias. Si quiere utilizar reservas de capacidad específicas o evitar que las instancias se lancen en reservas de capacidad abiertas, utilice flotas de instancias en su lugar. Para obtener más información, consulte Utilizar reservas de capacidad con flotas de instancias.

Para agregar distintos tipos de instancia una vez creado un clúster, puede agregar grupos de instancia de tareas adicionales. Puede elegir distintos tipos de instancia y opciones de compra para cada grupo de instancias. Para obtener más información, consulte Utilice el escalado de EMR clústeres de Amazon para adaptarse a las cargas de trabajo cambiantes.

Al lanzar instancias, la preferencia de reserva de capacidad de una instancia bajo demanda se configura de manera predeterminada en open, lo que le permite ejecutarse en cualquier reserva de capacidad abierta que tenga atributos coincidentes (tipo de instancia, plataforma, zona de disponibilidad). Para más información sobre las reservas de capacidad bajo demanda, consulte Utilizar reservas de capacidad con flotas de instancias.

En esta sección se explica cómo crear un clúster con grupos de instancias uniformes. Para obtener más información sobre la modificación de un grupo de instancias existente añadiendo o eliminando instancias de forma manual o con escalado automático, consulte Administra los EMR clústeres de Amazon.

Usar la consola para configurar grupos de instancias uniformes

Console
Para crear un clúster con grupos de instancias mediante la nueva consola
  1. Inicie sesión en AWS Management Console y abre la EMR consola de Amazon en https://console.aws.amazon.com/emr.

  2. EMREC2En el panel de navegación de la izquierda, selecciona Clústeres y, a continuación, selecciona Crear clúster.

  3. En Configuración del clúster, elija Grupos de instancias.

  4. En Grupos de nodos, hay una sección para cada tipo de grupo de nodos. Para el grupo de nodos principales, seleccione la casilla Usar varios nodos principales si desea tener 3 nodos principales. Seleccione la casilla Usar la opción de compra de spot si desea utilizar la opción de compra de spot.

  5. Para los grupos de nodos principales y básicos, seleccione Agregar tipo de instancia y elija hasta 5 tipos de instancias. Para el grupo de tarea, seleccione Agregar tipo de instancia y elija hasta quince tipos de instancias. Amazon EMR podría aprovisionar cualquier combinación de estos tipos de instancias al lanzar el clúster.

  6. En cada tipo de grupo de nodos, seleccione el menú desplegable Acciones situado junto a cada instancia para cambiar estas configuraciones:

    Añada EBS volúmenes

    Especifica EBS los volúmenes que deseas adjuntar al tipo de instancia después de que Amazon los EMR aprovisione.

    Edición del precio de spot máximo

    Debe especificar un precio de spot máximo para cada tipo de instancia de una flota. Puede configurar este precio como un porcentaje del precio bajo demanda o como un importe específico en dólares. Si el precio spot actual en una zona de disponibilidad está por debajo de su precio spot máximo, Amazon EMR aprovisiona instancias puntuales. Solo tiene que pagar el precio de spot, que no es necesariamente el precio de spot máximo.

  7. Si lo desea, expanda la configuración de nodos para introducir una JSON configuración o para cargarla JSON desde Amazon S3.

  8. Elija cualquier otra opción que se aplique a su clúster.

  9. Para lanzar el clúster, elija Crear clúster.

Use la AWS CLI para crear un clúster con grupos de instancias uniformes

Para especificar la configuración de los grupos de instancias de un clúster mediante el AWS CLI, usa el create-cluster comando junto con el --instance-groups parámetro. Amazon EMR asume la opción Instancia bajo demanda a menos que especifiques el BidPrice argumento de un grupo de instancias. Para ver ejemplos de create-cluster comandos que lanzan grupos de instancias uniformes con instancias bajo demanda y una variedad de opciones de clústeres, escribe aws emr create-cluster help en la línea de comandos o consulta create-cluster en AWS CLI Referencia de comandos.

Puede utilizar el AWS CLI para crear grupos de instancias uniformes en un clúster que usen instancias puntuales. El precio de spot que se ofrece depende de la zona de disponibilidad. Si usas CLI oAPI, puedes especificar la zona de disponibilidad con el AvailabilityZone argumento (si utilizas una red EC2 clásica) o con el SubnetID argumento del --ec2-attributes parámetro. La zona de disponibilidad o la subred que seleccione se aplica al clúster, por lo que se utiliza para todos los grupos de instancias. Si no especificas una zona o subred de disponibilidad de forma explícita, Amazon EMR selecciona la zona de disponibilidad con el precio spot más bajo al lanzar el clúster.

El siguiente ejemplo muestra un comando create-cluster que crea grupos de instancias principales, básicas y de tarea que utilizan instancias de spot. Reemplazar myKey con el nombre de tu EC2 key pair de Amazon.

nota

Se incluyen caracteres de continuación de línea de Linux (\) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

aws emr create-cluster --name "MySpotCluster" \ --release-label emr-7.2.0 \ --use-default-roles \ --ec2-attributes KeyName=myKey \ --instance-groups \ InstanceGroupType=MASTER,InstanceType=m5.xlarge,InstanceCount=1,BidPrice=0.25 \ InstanceGroupType=CORE,InstanceType=m5.xlarge,InstanceCount=2,BidPrice=0.03 \ InstanceGroupType=TASK,InstanceType=m5.xlarge,InstanceCount=4,BidPrice=0.03 \ InstanceGroupType=TASK,InstanceType=m5.xlarge,InstanceCount=2,BidPrice=0.04

Con élCLI, puedes crear clústeres de grupos de instancias uniformes que especifiquen una personalización única AMI para cada tipo de instancia del grupo de instancias. Esto le permite utilizar diferentes arquitecturas de instancias en el mismo grupo de instancias. Cada tipo de instancia debe usar una arquitectura personalizada AMI con una arquitectura coincidente. Por ejemplo, configuraría un tipo de instancia m5.xlarge con una arquitectura x86_64 personalizada AMI y un tipo de instancia m6g.xlarge con la arquitectura () personalizada correspondiente. AWS AARCH64 ARM AMI

En el siguiente ejemplo, se muestra un clúster de grupos de instancias uniforme creado con dos tipos de instancias, cada uno con su propia personalización. AMI Ten en cuenta que las AMIs personalizaciones se especifican solo a nivel de tipo de instancia, no a nivel de clúster. Esto sirve para evitar conflictos entre el tipo de instancia AMIs y una instancia AMI a nivel de clúster, lo que provocaría un error en el lanzamiento del clúster.

aws emr create-cluster --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-groups \ InstanceGroupType=MASTER,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456 \ InstanceGroupType=CORE,InstanceType=m6g.xlarge,InstanceCount=1,CustomAmiId=ami-234567

Puedes añadir varias instancias personalizadas AMIs a un grupo de instancias y añadirlas a un clúster en ejecución. El argumento CustomAmiId se puede usar con el comando add-instance-groups, como se muestra en el siguiente ejemplo.

aws emr add-instance-groups --cluster-id j-123456 \ --instance-groups \ InstanceGroupType=Task,InstanceType=m5.xlarge,InstanceCount=1,CustomAmiId=ami-123456

Usa Java SDK para crear un grupo de instancias

Puede instanciar un objeto InstanceGroupConfig que especifica la configuración de un grupo de instancias para un clúster. Para utilizar instancias de spot, define las propiedades withBidPrice y withMarket en el objeto InstanceGroupConfig. El código siguiente muestra cómo definir grupos de instancias principales, básicas y de tarea que ejecutan instancias de spot.

InstanceGroupConfig instanceGroupConfigMaster = new InstanceGroupConfig() .withInstanceCount(1) .withInstanceRole("MASTER") .withInstanceType("m4.large") .withMarket("SPOT") .withBidPrice("0.25"); InstanceGroupConfig instanceGroupConfigCore = new InstanceGroupConfig() .withInstanceCount(4) .withInstanceRole("CORE") .withInstanceType("m4.large") .withMarket("SPOT") .withBidPrice("0.03"); InstanceGroupConfig instanceGroupConfigTask = new InstanceGroupConfig() .withInstanceCount(2) .withInstanceRole("TASK") .withInstanceType("m4.large") .withMarket("SPOT") .withBidPrice("0.10");