Configurar grupos de instâncias uniformes - 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á.

Configurar grupos de instâncias uniformes

Com a configuração de grupos de instâncias, cada tipo de nó (principal, core ou tarefa) consiste no mesmo tipo de instância e na mesma opção de compra para instâncias: Sob demanda ou Spot. Você especifica essas configurações ao criar um grupo de instâncias. Não é possível alterá-las depois. No entanto, você pode adicionar instâncias do mesmo tipo e opção de compra a grupos de instâncias core e de tarefas. Você também pode remover instâncias.

Se as instâncias sob demanda do cluster corresponderem aos atributos das reservas de capacidade aberta (tipo de instância, plataforma, locação e zona de disponibilidade) disponíveis na conta, as reservas de capacidade serão aplicadas automaticamente. É possível usar reservas de capacidade aberta para nós primários, centrais e de tarefa. No entanto, você não poderá usar reservas de capacidade direcionadas nem impedir que instâncias sejam iniciadas em reservas de capacidade abertas com atributos correspondentes ao provisionar clusters usando grupos de instâncias. Para usar reservas de capacidade direcionadas ou evitar que instâncias sejam iniciadas em reservas de capacidade abertas, use frotas de instâncias. Para obter mais informações, consulte Usar reservas de capacidade com a frotas de instância.

Para adicionar tipos de instâncias diferentes depois que um cluster for criado, é possível adicionar outros grupos de instâncias de tarefas. Você pode escolher diferentes tipos de instância e opções de compra para cada grupo de instância. Para obter mais informações, consulte Use a escalabilidade de EMR cluster da Amazon para se ajustar às mudanças nas cargas de trabalho.

Ao iniciar instâncias, a preferência da reserva de capacidade da instância sob demanda será padronizada como open, o que permitirá que ela seja executada em qualquer reserva de capacidade em aberto que tenha atributos correspondentes (tipo de instância, plataforma, zona de disponibilidade). Para obter mais informações sobre reservas de capacidade sob demanda, consulte Usar reservas de capacidade com a frotas de instância.

Esta seção discute a criação de um cluster com grupos de instâncias uniformes. Para obter mais informações sobre como modificar um grupo de instâncias existente, adicionando ou removendo instâncias manualmente ou com escalabilidade automática, consulte Gerencie EMR clusters da Amazon.

Usar o console para configurar grupos de instâncias uniformes

Console
Criar um cluster com grupos de instâncias usando o novo console
  1. Faça login no AWS Management Console e abra o EMR console da Amazon em https://console.aws.amazon.com/emr.

  2. EMREC2Em Ativado, no painel de navegação esquerdo, escolha Clusters e escolha Criar cluster.

  3. Em Configuração do cluster, escolha Grupos de instâncias.

  4. Em Grupos de nós, há uma seção para cada tipo de grupo de nós. Para o grupo de nós primários, marque a caixa de seleção Usar múltiplos nós primários se quiser ter três nós primários. Marque a caixa de seleção Usar a opção de compra spot se quiser usar a compra spot.

  5. Para os grupos de nós primários e centrais, selecione Adicionar tipo de instância e escolha até cinco tipos de instância. Para o grupo de tarefa, selecione Adicionar tipo de instância e escolha até 15 tipos de instância. A Amazon EMR pode provisionar qualquer combinação desses tipos de instância ao iniciar o cluster.

  6. Para alterar essas configurações, em cada tipo de grupo de nós, escolha o menu suspenso Ações ao lado de cada instância:

    Adicionar EBS volumes

    Especifique EBS os volumes a serem anexados ao tipo de instância depois que a Amazon a EMR provisionar.

    Editar preço máximo spot

    Especifique um preço spot máximo para cada tipo de instância da frota. Você pode definir esse preço como uma porcentagem do preço sob demanda ou como uma quantia em dólar. Se o preço spot atual em uma zona de disponibilidade estiver abaixo do seu preço spot máximo, a Amazon EMR provisiona instâncias spot. Você paga o preço spot e não necessariamente o preço spot máximo.

  7. Opcionalmente, expanda a configuração do Node para entrar em uma JSON configuração ou para carregar a JSON partir do Amazon S3.

  8. Escolha qualquer outra opção que se aplique ao cluster.

  9. Para iniciar o cluster, escolha Criar cluster.

Use o comando AWS CLI para criar um cluster com grupos de instâncias uniformes

Para especificar a configuração dos grupos de instâncias para um cluster usando o AWS CLI, use o create-cluster comando junto com o --instance-groups parâmetro. A Amazon EMR assume a opção de instância sob demanda, a menos que você especifique o BidPrice argumento para um grupo de instâncias. Para ver exemplos de create-cluster comandos que iniciam grupos de instâncias uniformes com instâncias sob demanda e uma variedade de opções de cluster, digite aws emr create-cluster help na linha de comando ou consulte create-cluster no AWS CLI Referência de comando.

Você pode usar o AWS CLI para criar grupos de instâncias uniformes em um cluster que usa instâncias spot. O preço Spot oferecido depende da zona de disponibilidade. Ao usar o CLI ouAPI, você pode especificar a Zona de Disponibilidade com o AvailabilityZone argumento (se estiver usando uma rede EC2 -clássica) ou com o SubnetID argumento do --ec2-attributes parâmetro. A zona de disponibilidade ou sub-rede selecionada se aplica ao cluster e, portanto, é usada para todos os grupos de instâncias. Se você não especificar explicitamente uma zona de disponibilidade ou sub-rede, a Amazon EMR selecionará a zona de disponibilidade com o menor preço spot ao iniciar o cluster.

O exemplo a seguir demonstra um comando create-cluster que cria um grupo de instâncias primárias, um grupo de instâncias centrais e dois grupos de instâncias de tarefa, todos usando instâncias spot. Substituir myKey com o nome do seu par de EC2 chaves da Amazon.

nota

Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

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

Usando oCLI, você pode criar clusters de grupos de instâncias uniformes que especificam um personalizado exclusivo AMI para cada tipo de instância no grupo de instâncias. Assim, você pode usar arquiteturas de instância diferentes no mesmo grupo de instâncias. Cada tipo de instância deve usar uma arquitetura personalizada AMI com uma arquitetura correspondente. Por exemplo, você configuraria um tipo de instância m5.xlarge com uma arquitetura x86_64 personalizada AMI e um tipo de instância m6g.xlarge com uma arquitetura () personalizada correspondente. AWS AARCH64 ARM AMI

O exemplo a seguir mostra um cluster uniforme de grupos de instâncias criado com dois tipos de instância, cada um com sua própria personalizaçãoAMI. Observe que os personalizados AMIs são especificados somente no nível do tipo de instância, não no nível do cluster. Isso é para evitar conflitos entre o tipo de instância AMIs e an AMI no nível do cluster, o que faria com que a inicialização do cluster falhasse.

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

Você pode adicionar vários personalizados AMIs a um grupo de instâncias que você adiciona a um cluster em execução. O argumento CustomAmiId pode ser usado com o comando add-instance-groups, conforme mostrado no exemplo a seguir.

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

Use o Java SDK para criar um grupo de instâncias

Você instancia um objeto InstanceGroupConfig que especifica a configuração de um grupo de instâncias para um cluster. Para usar instâncias Spot, defina as propriedades withBidPrice e withMarket no objeto InstanceGroupConfig. O código a seguir mostra como definir grupos de instância primários, centrais e de tarefa que executam instâncias 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");