Lance un Amazon EMR Cluster con varios nodos principales - 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.

Lance un Amazon EMR Cluster con varios nodos principales

En este tema se proporcionan detalles de configuración y ejemplos para lanzar un EMR clúster de Amazon con varios nodos principales.

nota

Amazon habilita EMR automáticamente la protección de terminación para todos los clústeres que tienen varios nodos principales y anula cualquier configuración de terminación automática que proporciones al crear el clúster. Para cerrar un clúster con varios nodos principales, primero debe modificar los atributos del clúster para deshabilitar la protección contra la terminación. Para obtener instrucciones, consulte Terminar un Amazon EMR Cluster con varios nodos principales.

Requisitos previos

  • Puede lanzar un EMR clúster de Amazon con varios nodos principales en VPC subredes públicas y privadas. EC2-No se admite la versión clásica. Para lanzar un EMR clúster de Amazon con varios nodos principales en una subred pública, debes habilitar las instancias de esta subred para que reciban una dirección IP pública. Para ello, selecciona Asignar automáticamente IPv4 en la consola o ejecuta el siguiente comando. Reemplazar 22XXXX01 con su ID de subred.

    aws ec2 modify-subnet-attribute --subnet-id subnet-22XXXX01 --map-public-ip-on-launch
  • Para ejecutar Hive, Hue u Oozie en un EMR clúster de Amazon con varios nodos principales, debes crear un metaalmacén externo. Para obtener más información, consulta Configuración de un metaalmacén externo para Hive, Uso de Hue con una base de datos remota en Amazon RDS o Apache Oozie.

  • Para usar la autenticación Kerberos en su clúster, debe configurar una externa. KDC Para obtener más información, consulte Configuración de Kerberos en Amazon EMR.

Lance un Amazon EMR Cluster con varios nodos principales

Puede lanzar un clúster con varios nodos principales cuando utiliza los grupos de instancias o las flotas de instancias. Al utilizar grupos de instancias con varios nodos principales, debe especificar un valor de recuento de instancias de 3 para el grupo de instancias del nodo principal. Cuando utiliza flotas de instancias con varios nodos principales, debe especificar los valores TargetOnDemandCapacity de 3, TargetSpotCapacity de 0 para la flota de instancias principal y WeightedCapacity de 1 para cada tipo de instancia que configure para la flota principal.

En los siguientes ejemplos, se muestra cómo lanzar el clúster utilizando el modo predeterminado AMI o uno personalizado, tanto AMI con grupos de instancias como con flotas de instancias:

nota

Debe especificar el ID de subred cuando lance un EMR clúster de Amazon con varios nodos principales mediante el AWS CLI. Reemplazar 22XXXX01 y 22XXXX02 con su ID de subred en los siguientes ejemplos.

Default AMI, instance groups
ejemplo Ejemplo: lanzar un clúster de grupo de EMR instancias de Amazon con varios nodos principales mediante un valor predeterminado AMI
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-6.15.0 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark
Default AMI, instance fleets
ejemplo Ejemplo: lanzar un clúster de flota de EMR instancias de Amazon con varios nodos principales mediante un valor predeterminado AMI
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-6.15.0 \ --instance-fleets '[ { "InstanceFleetType": "MASTER", "TargetOnDemandCapacity": 3, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Master - 1" }, { "InstanceFleetType": "CORE", "TargetOnDemandCapacity": 5, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 2, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 4, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Core - 2" } ]' \ --ec2-attributes '{"InstanceProfile":"EMR_EC2_DefaultRole","SubnetIds":["subnet-22XXXX01", "subnet-22XXXX02"]}' \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark
Custom AMI, instance groups
ejemplo Ejemplo: lanzar un clúster de grupo de EMR instancias de Amazon con varios nodos principales mediante un comando personalizado AMI
aws emr create-cluster \ --name "custom-ami-ha-cluster" \ --release-label emr-6.15.0 \ --instance-groups InstanceGroupType=MASTER,InstanceCount=3,InstanceType=m5.xlarge InstanceGroupType=CORE,InstanceCount=4,InstanceType=m5.xlarge \ --ec2-attributes KeyName=ec2_key_pair_name,InstanceProfile=EMR_EC2_DefaultRole,SubnetId=subnet-22XXXX01 \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark \ --custom-ami-id ami-MyAmiID
Custom AMI, instance fleets
ejemplo Ejemplo: lanzar un clúster de flota de EMR instancias de Amazon con varios nodos principales mediante un comando personalizado AMI
aws emr create-cluster \ --name "ha-cluster" \ --release-label emr-6.15.0 \ --instance-fleets '[ { "InstanceFleetType": "MASTER", "TargetOnDemandCapacity": 3, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Master - 1" }, { "InstanceFleetType": "CORE", "TargetOnDemandCapacity": 5, "TargetSpotCapacity": 0, "LaunchSpecifications": { "OnDemandSpecification": { "AllocationStrategy": "lowest-price" } }, "InstanceTypeConfigs": [ { "WeightedCapacity": 1, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.xlarge" }, { "WeightedCapacity": 2, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.2xlarge" }, { "WeightedCapacity": 4, "BidPriceAsPercentageOfOnDemandPrice": 100, "InstanceType": "m5.4xlarge" } ], "Name": "Core - 2" } ]' \ --ec2-attributes '{"InstanceProfile":"EMR_EC2_DefaultRole","SubnetIds":["subnet-22XXXX01", "subnet-22XXXX02"]}' \ --service-role EMR_DefaultRole \ --applications Name=Hadoop Name=Spark \ --custom-ami-id ami-MyAmiID

Terminar un Amazon EMR Cluster con varios nodos principales

Para terminar un EMR clúster de Amazon con varios nodos principales, debe deshabilitar la protección de terminación antes de terminar el clúster, como se muestra en el siguiente ejemplo. Reemplazar j-3KVTXXXXXX7UG con tu ID de clúster.

aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected aws emr terminate-clusters --cluster-id j-3KVTXXXXXX7UG