Inicie um Amazon EMR Cluster com vários nós primários - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Inicie um Amazon EMR Cluster com vários nós primários

Este tópico fornece detalhes de configuração e exemplos para iniciar um EMR cluster da Amazon com vários nós primários.

nota

A Amazon habilita EMR automaticamente a proteção de encerramento para todos os clusters que têm vários nós primários e substitui todas as configurações de encerramento automático que você fornece ao criar o cluster. Para desligar um cluster com múltiplos nós primários, primeiro é necessário modificar os atributos do cluster para desabilitar a proteção contra término. Para obter instruções, consulte Encerrar um EMR cluster da Amazon com vários nós primários.

Pré-requisitos

  • Você pode iniciar um EMR cluster da Amazon com vários nós primários em VPC sub-redes públicas e privadas. EC2-Classic não é suportado. Para iniciar um EMR cluster da Amazon com vários nós primários em uma sub-rede pública, você deve permitir que as instâncias dessa sub-rede recebam um endereço IP público selecionando Atribuição automática IPv4 no console ou executando o comando a seguir. Substituir 22XXXX01 com seu ID de sub-rede.

    aws ec2 modify-subnet-attribute --subnet-id subnet-22XXXX01 --map-public-ip-on-launch
  • Para executar o Hive, o Hue ou o Oozie em um EMR cluster da Amazon com vários nós primários, você deve criar um metastore externo. Para obter mais informações, consulte Configurando um metastore externo para o Hive, Usando o Hue com um banco de dados remoto na Amazon RDS ou Apache Oozie.

  • Para usar a autenticação Kerberos em seu cluster, você deve configurar uma externa. KDC Para obter mais informações, consulte Configurando o Kerberos na Amazon Amazon. EMR

Inicie um Amazon EMR Cluster com vários nós primários

Você pode executar um cluster com vários nós primários ao usar grupos ou frotas de instâncias. Ao usar os grupos de instâncias com vários nós primários, é preciso especificar um valor 3 de contagem de instâncias para o grupo de instâncias do nó primário. Ao usar frotas de instâncias com vários nós primários, você deve especificar a TargetOnDemandCapacity de 3, a TargetSpotCapacity de 0 para a frota de instâncias primária e a WeightedCapacity de 1 para cada tipo de instância que configurar para a frota principal.

Os exemplos a seguir demonstram como iniciar o cluster usando o padrão AMI ou um personalizado AMI com grupos de instâncias e frotas de instâncias:

nota

Você deve especificar o ID da sub-rede ao iniciar um EMR cluster da Amazon com vários nós primários usando o AWS CLI. Substituir 22XXXX01 e 22XXXX02 com seu ID de sub-rede nos exemplos a seguir.

Default AMI, instance groups
exemplo Exemplo — Lançamento de um cluster de grupos de EMR instâncias da Amazon com vários nós primários usando um padrão 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
exemplo Exemplo — Lançamento de um cluster de frota de EMR instâncias da Amazon com vários nós primários usando um padrão 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
exemplo Exemplo — Lançamento de um cluster de grupos de EMR instâncias da Amazon com vários nós primários usando um cluster 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
exemplo Exemplo — Lançamento de um cluster de frota de EMR instâncias da Amazon com vários nós primários usando um cluster 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

Encerrar um EMR cluster da Amazon com vários nós primários

Para encerrar um EMR cluster da Amazon com vários nós primários, você deve desativar a proteção contra encerramento antes de encerrar o cluster, conforme demonstra o exemplo a seguir. Substituir j-3KVTXXXXXX7UG com seu ID de cluster.

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