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 lançar frotas de On-Demand instâncias com opções de reserva de capacidade, anexe permissões adicionais de função 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 On-Demand alocação, você também precisa incluir as permissões necessárias para a estratégia de alocação em sua função de serviço e 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 RunJobFlow ação ou o create-cluster comando para executar frotas de instâncias usando On-Demand reservas de capacidade.
Usar reservas de capacidade aberta com base no melhor esforço
Se as On-Demand instâncias do cluster corresponderem aos atributos das reservas de capacidade aberta (tipo de instância, plataforma, locação e zona de disponibilidade) disponíveis em sua 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 pool de Lowest-price instâncias na solicitação de execução tem reservas de capacidade aberta disponíveis
Nesse caso, o Amazon EMR lança capacidade no pool de instâncias de menor preço com Instâncias. On-Demand Suas reservas de capacidade aberta disponíveis nesse grupo de instâncias são usadas automaticamente.
| On-Demand Estratégia | 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 |
| On-Demand Preço | $ | $$ | $$$ |
| 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 pool de Lowest-price instâncias na solicitação de execução não tem reservas de capacidade aberta disponíveis
Nesse caso, o Amazon EMR lança capacidade no pool de instâncias de menor preço com Instâncias. On-Demand No entanto, suas reservas de capacidade aberta permanecem inutilizadas.
| On-Demand Estratégia | preço mais baixo | ||
| Capacidade solicitada | 100 | ||
| Tipo de instância | c5.xlarge | m5.xlarge | r5.xlarge |
|
Reservas de capacidade aberta disponíveis |
- | - | 100 |
| On-Demand Preço | $ | $$ | $$$ |
| 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 RunJobFlow ação para criar um cluster baseado em frota de instâncias, defina a estratégia de On-Demand alocação 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 On-Demand instância para. 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-clusterpelo nome do cluster usando reservas de capacidade abertas. -
Substitui-se
subnet-22XXXX01pelo 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.
| On-Demand Estratégia | 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 |
| On-Demand Preço | $ | $$ | $$$ |
| 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.
| On-Demand Estratégia | 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 |
| On-Demand Preço | $ | $$ | $$$ |
| 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 RunJobFlow ação para criar um cluster baseado em frota de instâncias, defina a estratégia de On-Demand alocação para lowest-price e UsageStrategy para. CapacityReservationOptions 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-clusterpelo nome do cluster usando reservas de capacidade abertas. -
Substitui-se
subnet-22XXXX01pelo 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.
| On-Demand Estratégia | 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 |
| On-Demand Preço | $ | $$ | $$$ |
| 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
| On-Demand Estratégia | 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 |
| On-Demand Preço | $ | $$ | $$$ |
| 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 RunJobFlow ação para criar um cluster baseado em frota de instâncias, defina a estratégia de On-Demand alocação comolowest-price, para UsageStrategy para e CapacityReservationOptions parause-capacity-reservations-first. CapacityReservationResourceGroupArn CapacityReservationOptions <your resource group
ARN> Para obter mais informações, consulte Work with capacity reservations no Guia do usuário do Amazon EC2.
"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-clusterpelo nome do cluster usando reservas de capacidade direcionadas. -
Substitui-se
subnet-22XXXX01pelo ID da sub-rede. -
Substitui-se
arn:aws:resource-groups:sa-east-1:123456789012:group/MyCRGrouppelo ARN do grupo de recursos.
Evitar usar reservas de capacidade aberta disponíveis
exemplo
Se você quiser evitar o uso inesperado de qualquer uma de suas reservas de capacidade aberta ao iniciar um cluster do Amazon EMR, defina a estratégia de On-Demand alocação para e para. lowest-price CapacityReservationPreference CapacityReservationOptions none Caso contrário, o Amazon EMR padronizará a preferência de reserva de capacidade da On-Demand instância open e tentará usar as reservas de capacidade aberta 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-clusterpelo nome do cluster que não está usando reservas de capacidade abertas. -
Substitui-se
subnet-22XXXX01pelo 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.
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.