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á.
Uso de reservas de capacidade com frotas de instância no Amazon EMR
Para iniciar frotas de instâncias sob demanda com opções de reserva de capacidade, anexe outras permissões de perfil de serviço que são necessárias para usar as opções de reserva de capacidade. Como as opções de reserva de capacidade devem ser usadas junto com a estratégia de alocação sob demanda, também é necessário incluir as permissões necessárias para a estratégia de alocação em no perfil de serviço e na política gerenciada. Para obter mais informações, consulte Permissões da estratégia de alocação.
O Amazon EMR oferece suporte a reservas de capacidade abertas e direcionadas. Os tópicos a seguir mostram as configurações de frotas de instâncias que você pode usar com a ação RunJobFlow
ou o comando create-cluster
para iniciar frotas de instâncias usando reservas de capacidade sob demanda.
Usar reservas de capacidade aberta com base no melhor esforço
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. No entanto, o uso das reservas de capacidade não é garantido. Para provisionar o cluster, o Amazon EMR avalia todos os grupos de instâncias especificados na solicitação de inicialização e usa aquele com o menor preço que tenha capacidade suficiente para iniciar todos os nós principais solicitados. As reservas de capacidade aberta disponíveis que correspondem ao grupo de instâncias são aplicadas automaticamente. Se as reservas de capacidade aberta disponíveis não corresponderem ao grupos de instâncias, elas permanecerão inutilizadas.
Depois que os nós centrais são provisionados, a zona de disponibilidade é selecionada e corrigida. O Amazon EMR provisiona nós de tarefa em grupos de instâncias, começando pelos de menor preço, na zona de disponibilidade selecionada, até que todos os nós de tarefa sejam provisionados. As reservas de capacidade aberta disponíveis que correspondem aos grupos de instâncias são aplicadas automaticamente.
Veja estes casos de uso da lógica de alocação de capacidade do Amazon EMR para usar reservas de capacidade aberta com base no melhor esforço.
Exemplo 1: o grupo de instâncias de menor preço na solicitação de inicialização tem reservas de capacidade abertas disponíveis
Nesse caso, o Amazon EMR inicia capacidade no grupo de instâncias de menor preço com instâncias sob demanda. Suas reservas de capacidade aberta disponíveis nesse grupo de instâncias são usadas automaticamente.
Estratégia sob demanda | preço mais baixo | ||
Capacidade solicitada | 100 | ||
Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
Reservas de capacidade aberta disponíveis | 150 | 100 | 100 |
Preço sob demanda | $ | $$ | $$$ |
Instâncias provisionadas | 100 | - | - |
---|---|---|---|
Reserva de capacidade aberta utilizada | 100 | - | - |
Reservas de capacidade aberta disponíveis | 50 | 100 | 100 |
Depois que a frota de instâncias for iniciada, você poderá executar describe-capacity-reservations
para ver quantas reservas de capacidade não utilizadas restam.
Exemplo 2: o grupo de instâncias de menor preço na solicitação de execução não tem reservas de capacidade abertas disponíveis
Nesse caso, o Amazon EMR inicia capacidade no grupo de instâncias de menor preço com instâncias sob demanda. No entanto, suas reservas de capacidade aberta permanecem inutilizadas.
Estratégia sob demanda | preço mais baixo | ||
Capacidade solicitada | 100 | ||
Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
Reservas de capacidade aberta disponíveis |
- | - | 100 |
Preço sob demanda | $ | $$ | $$$ |
Instâncias provisionadas | 100 | - | - |
---|---|---|---|
Reserva de capacidade aberta utilizada | - | - | - |
Reservas de capacidade aberta disponíveis | - | - | 100 |
Configurar frotas de instâncias para usar reservas de capacidade aberta com base no melhor esforço
Ao usar a ação RunJobFlow
para criar um cluster baseado em frota de instâncias, defina a estratégia de alocação sob demanda para lowest-price
e CapacityReservationPreference
para as opções de reservas de capacidade como open
. Como alternativa, se você deixar esse campo em branco, o Amazon EMR padronizará a preferência de reserva de capacidade da instância sob demanda como open
.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "open" } } }
Também é possível usar a CLI do Amazon EMR para criar um cluster baseado em frota de instâncias usando reservas de capacidade aberta.
aws emr create-cluster \ --name 'open-ODCR-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={CapacityReservationPreference=open}}'}
Onde,
-
Substitui-se
open-ODCR-cluster
pelo nome do cluster usando reservas de capacidade abertas. -
Substitui-se
subnet-22XXXX01
pelo ID da sub-rede.
Usar primeiro as reservas de capacidade aberta
Você pode optar por substituir a estratégia de alocação de menor preço e priorizar usar primeiro as reservas de capacidade aberta disponíveis ao provisionar um cluster do Amazon EMR. Nesse caso, o Amazon EMR avalia todos os grupos de instâncias com reservas de capacidade especificadas na solicitação de inicialização e usa aquele com o menor preço que tenha capacidade suficiente para iniciar todos os nós centrais solicitados. Se nenhum dos grupos de instâncias com reservas de capacidade tiver capacidade suficiente para os nós centrais solicitados, o Amazon EMR retornará para o caso de melhor esforço descrito no tópico anterior. Ou seja, o Amazon EMR reavalia todos os grupos de instâncias especificados na solicitação de inicialização e usa aquele com o menor preço que tenha capacidade suficiente para iniciar todos os nós centrais solicitados. As reservas de capacidade aberta disponíveis que correspondem ao grupo de instâncias são aplicadas automaticamente. Se as reservas de capacidade aberta disponíveis não corresponderem ao grupos de instâncias, elas permanecerão inutilizadas.
Depois que os nós centrais são provisionados, a zona de disponibilidade é selecionada e corrigida. O Amazon EMR provisiona nós de tarefa em grupos de instâncias com reservas de capacidade, começando pelos de menor preço, na zona de disponibilidade selecionada, até que todos os nós de tarefa sejam provisionados. O Amazon EMR usa primeiro as reservas de capacidade aberta disponíveis em cada grupo de instâncias na zona de disponibilidade selecionada e, somente se necessário, usa a estratégia de menor preço para provisionar os nós de tarefa restantes.
Veja estes casos de uso da lógica de alocação de capacidade do Amazon EMR para usar primeiro reservas de capacidade aberta.
Exemplo 1: o grupo de instâncias com reservas de capacidade aberta disponíveis na solicitação de inicialização tem capacidade suficiente para os nós centrais
Nesse caso, o Amazon EMR inicia a capacidade no grupo de instâncias com reservas de capacidade aberta disponíveis, independentemente do preço do grupo de instâncias. Como resultado, as reservas de capacidade aberta são usadas sempre que possível, até que todos os nós centrais sejam provisionados.
Estratégia sob demanda | preço mais baixo | ||
Capacidade solicitada | 100 | ||
Estratégia de uso | use-capacity-reservations-first | ||
Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
Reservas de capacidade aberta disponíveis | - | - | 150 |
Preço sob demanda | $ | $$ | $$$ |
Instâncias provisionadas | - | - | 100 |
---|---|---|---|
Reserva de capacidade aberta utilizada | - | - | 100 |
Reservas de capacidade aberta disponíveis | - | - | 50 |
Exemplo 2: o grupo de instâncias com reservas de capacidade aberta disponíveis na solicitação de inicialização não tem capacidade suficiente para os nós centrais
Nesse caso, o Amazon EMR retorna para iniciar os nós centrais usando a estratégia de menor preço com base no melhor esforço para usar as reservas de capacidade.
Estratégia sob demanda | preço mais baixo | ||
Capacidade solicitada | 100 | ||
Estratégia de uso | use-capacity-reservations-first | ||
Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
Reservas de capacidade aberta disponíveis | 10 | 50 | 50 |
Preço sob demanda | $ | $$ | $$$ |
Instâncias provisionadas | 100 | - | - |
---|---|---|---|
Reserva de capacidade aberta utilizada | 10 | - | - |
Reservas de capacidade aberta disponíveis | - | 50 | 50 |
Depois que a frota de instâncias for iniciada, você poderá executar describe-capacity-reservations
para ver quantas reservas de capacidade não utilizadas restam.
Configurar frotas de instâncias para usar primeiro reservas de capacidade aberta
Ao usar a ação RunJobFlow
para criar um cluster baseado em frota de instâncias, defina a estratégia de alocação sob demanda para lowest-price
e UsageStrategy
para CapacityReservationOptions
como use-capacity-reservations-first
.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } } }
Também é possível usar a CLI do Amazon EMR para criar um cluster baseado em frota de instâncias usando primeiro as reservas de capacidade.
aws emr create-cluster \ --name 'use-CR-first-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={UsageStrategy=use-capacity-reservations-first}}'}
Onde,
-
Substitui-se
use-CR-first-cluster
pelo nome do cluster usando reservas de capacidade abertas. -
Substitui-se
subnet-22XXXX01
pelo ID da sub-rede.
Usar primeiro as reservas de capacidade direcionadas
Ao provisionar um cluster do Amazon EMR, você pode optar por substituir a estratégia de alocação de menor preço e priorizar usar primeiro as reservas de capacidade direcionada disponíveis. Nesse caso, o Amazon EMR avalia todos os grupos de instâncias com reservas de capacidade direcionadas especificadas na solicitação de inicialização e escolhe aquele com o menor preço que tenha capacidade suficiente para iniciar todos os nós centrais solicitados. Se nenhum dos grupos de instâncias com reservas de capacidade direcionada tiver capacidade suficiente para os nós centrais, o Amazon EMR retornará ao caso de melhor esforço descrito anteriormente. Ou seja, o Amazon EMR reavalia todos os grupos de instâncias especificados na solicitação de inicialização e seleciona aquele com o menor preço que tenha capacidade suficiente para iniciar todos os nós centrais solicitados. As reservas de capacidade aberta disponíveis que correspondem ao grupo de instâncias são aplicadas automaticamente. No entanto, as reservas de capacidade direcionadas permanecem inutilizadas.
Depois que os nós centrais são provisionados, a zona de disponibilidade é selecionada e corrigida. O Amazon EMR provisiona nós de tarefa em grupos de instâncias com reservas de capacidade direcionadas, começando pelos de menor preço, na zona de disponibilidade selecionada, até que todos os nós de tarefa sejam provisionados. O Amazon EMR tenta primeiro usar as reservas de capacidade direcionada disponíveis em cada grupo de instâncias na zona de disponibilidade selecionada. Então, somente se necessário, o Amazon EMR usa a estratégia de menor preço para provisionar os nós de tarefa restantes.
Veja estes casos de uso da lógica de alocação de capacidade do Amazon EMR para usar primeiro reservas de capacidade direcionada.
Exemplo 1: O grupo de instâncias com reservas de capacidade direcionada disponíveis na solicitação de inicialização tem capacidade suficiente para os nós centrais
Nesse caso, o Amazon EMR inicia a capacidade no grupo de instâncias com reservas de capacidade direcionada disponíveis, independentemente do preço do grupo de instâncias. Como resultado, as reservas de capacidade direcionada são usadas sempre que possível, até que todos os nós centrais sejam provisionados.
Estratégia sob demanda | preço mais baixo | ||
Estratégia de uso | use-capacity-reservations-first | ||
Capacidade solicitada | 100 | ||
Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
Reservas de capacidade direcionada disponíveis | - | - | 150 |
Preço sob demanda | $ | $$ | $$$ |
Instâncias provisionadas | - | - | 100 |
---|---|---|---|
Reserva de capacidade direcionada utilizada | - | - | 100 |
Reservas de capacidade direcionada disponíveis | - | - | 50 |
exemplo Exemplo 2: o grupo de instâncias com reservas de capacidade direcionada disponíveis na solicitação de inicialização não tem capacidade suficiente para os nós centrais
Estratégia sob demanda | preço mais baixo | ||
Capacidade solicitada | 100 | ||
Estratégia de uso | use-capacity-reservations-first | ||
Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
Reservas de capacidade direcionada disponíveis | 10 | 50 | 50 |
Preço sob demanda | $ | $$ | $$$ |
Instâncias provisionadas | 100 | - | - |
---|---|---|---|
Reservas de capacidade direcionada utilizadas | 10 | - | - |
Reservas de capacidade direcionada disponíveis | - | 50 | 50 |
Depois que a frota de instâncias for iniciada, você poderá executar describe-capacity-reservations
para ver quantas reservas de capacidade não utilizadas restam.
Configurar frotas de instâncias para usar primeiro reservas de capacidade direcionada
Ao usar a ação RunJobFlow
para criar um cluster baseado em frota de instâncias, defina a estratégia de alocação sob demanda como lowest-price
, UsageStrategy
de CapacityReservationOptions
como use-capacity-reservations-first
e CapacityReservationResourceGroupArn
de CapacityReservationOptions
como <your resource group
ARN>
. Para obter mais informações, consulte Trabalhar com reservas de capacidade no Guia EC2 do usuário da Amazon.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first", "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup" } } }
Onde arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup
é substituído pelo ARN do grupo de recursos.
Também é possível usar a CLI do Amazon EMR para criar um cluster baseado em frota de instâncias usando reservas de capacidade direcionada.
aws emr create-cluster \ --name 'targeted-CR-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,\ InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={UsageStrategy=use-capacity-reservations-first,CapacityReservationResourceGroupArn=arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup}}'}
Onde,
-
Substitui-se
targeted-CR-cluster
pelo nome do cluster usando reservas de capacidade direcionadas. -
Substitui-se
subnet-22XXXX01
pelo ID da sub-rede. -
Substitui-se
arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGroup
pelo ARN do grupo de recursos.
Evitar usar reservas de capacidade aberta disponíveis
Para evitar o uso inesperado de qualquer uma de suas reservas de capacidade abertas ao iniciar um cluster do Amazon EMR, defina a estratégia de alocação sob demanda como lowest-price
e CapacityReservationPreference
para CapacityReservationOptions
como none
. Caso contrário, o Amazon EMR definirá open
como padrão a preferência de reserva de capacidade da instância sob demanda e tentará usar as reservas de capacidade abertas disponíveis com base no melhor esforço.
"LaunchSpecifications": {"OnDemandSpecification": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "CapacityReservationPreference": "none" } } }
Também é possível usar a CLI do Amazon EMR para criar um cluster baseado em frota de instâncias sem usar reservas de capacidade aberta.
aws emr create-cluster \ --name 'none-CR-cluster' \ --release-label emr-5.30.0 \ --service-role EMR_DefaultRole \ --ec2-attributes SubnetId=subnet-22XXXX01,InstanceProfile=EMR_EC2_DefaultRole \ --instance-fleets \ InstanceFleetType=MASTER,TargetOnDemandCapacity=1,InstanceTypeConfigs=['{InstanceType=c4.xlarge}'] \ InstanceFleetType=CORE,TargetOnDemandCapacity=100,InstanceTypeConfigs=['{InstanceType=c5.xlarge},{InstanceType=m5.xlarge},{InstanceType=r5.xlarge}'],\ LaunchSpecifications={OnDemandSpecification='{AllocationStrategy=lowest-price,CapacityReservationOptions={CapacityReservationPreference=none}}'}
Onde,
-
Substitui-se
none-CR-cluster
pelo nome do cluster que não está usando reservas de capacidade abertas. -
Substitui-se
subnet-22XXXX01
pelo ID da sub-rede.
Cenários para o uso de reservas de capacidade
Você pode se beneficiar do uso de reservas de capacidade nos cenários a seguir.
Cenário 1: alternar um cluster de execução prolongada usando reservas de capacidade
Ao alternar um cluster de execução prolongada, você poderá ter requisitos rígidos sobre os tipos de instância e as zonas de disponibilidade das novas instâncias provisionadas. Com as reservas de capacidade, você pode usar a garantia de capacidade para concluir a alternância do cluster sem interrupções.
![Alternância de clusters usando reservas de capacidade disponíveis](images/odcr-longrunning-cluster-diagram.png)
Cenário 2: provisionar clusters sucessivos de curta duração usando reservas de capacidade
Também é possível usar reservas de capacidade para provisionar um grupo de clusters sucessivos e de curta duração para workloads individuais, de forma que, ao encerrar um cluster, o próximo cluster possa usar as reservas de capacidade. Você pode usar reservas de capacidade direcionadas para garantir que apenas os clusters pretendidos usem as reservas de capacidade.
![Provisionamento de cluster de curta duração que utiliza reservas de capacidade disponíveis](images/odcr-short-cluster-diagram.png)