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.
Configura grupos de instancias uniformes para tu EMR clúster de Amazon
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 Usa reservas de capacidad con flotas de instancias en Amazon EMR.
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 Usa reservas de capacidad con flotas de instancias en Amazon EMR.
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
Úsala AWS CLI para crear un clúster con grupos de instancias uniformes
Para especificar la configuración de grupos de instancias para un clúster con la AWS CLI, utilice el comando create-cluster
junto con el parámetro --instance-groups
. Amazon EMR asume la opción Instancia bajo demanda a menos que especifiques el BidPrice
argumento de un grupo de instancias. Para obtener ejemplos de comandos create-cluster
que lanzan grupos de instancias uniformes con instancias bajo demanda y diversas opciones de clúster, escriba aws emr create-cluster help
en la línea de comando o consulte create-cluster en la referencia de comandos de la AWS CLI .
Puede utilizarla AWS CLI para crear grupos de instancias uniformes en un clúster que utilice 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. myKey
Sustitúyelo por 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-labelemr-7.5.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");