

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á.

# Redimensionar manualmente um cluster do Amazon EMR em execução
<a name="emr-manage-resize"></a>

Você pode adicionar e remover instâncias de grupos de instâncias principais e de tarefas e frotas de instâncias em um cluster em execução com a Console de gerenciamento da AWS, AWS CLI, ou a API do Amazon EMR. Se um cluster usa grupos de instâncias, você altera explicitamente a contagem de instâncias. Se o cluster usa frotas de instâncias, você pode alterar as unidades de destino para instâncias sob demanda e instâncias spot. A frota de instâncias, em seguida, adiciona e remove instâncias para corresponder ao novo destino. Para obter mais informações, consulte [Opções de frotas de instâncias](emr-instance-fleet.md#emr-instance-fleet-options). As aplicações podem usar essas instâncias do Amazon EC2 recém-disponibilizadas para hospedar os nós assim que as instâncias se tornarem disponíveis. Quando as instâncias são removidas, o Amazon EMR desativa as tarefas de uma forma que não interrompe os trabalhos e proteções contra a perda de dados. Para obter mais informações, consulte [Terminar na conclusão de tarefas](emr-scaledown-behavior.md#emr-scaledown-terminate-task).

## Redimensionar um cluster usando o console
<a name="resize-console"></a>

Você pode usar o console do Amazon EMR para redimensionar um cluster em execução.

------
#### [ Console ]

**Alterar a contagem de instâncias para um cluster existente usando o novo console**

1. [Faça login no e abra Console de gerenciamento da AWS o console do Amazon EMR em https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. Em **EMR no EC2** no painel de navegação esquerdo, escolha **Clusters** e selecione o cluster que você deseja atualizar. O cluster deve estar em execução, e não é possível redimensionar um cluster provisionado ou terminado.

1. Na guia **Instâncias** da página de detalhes do cluster, visualize o painel **Grupos de instâncias**. 

1. Para redimensionar um grupo de instâncias já existente, selecione o botão de opção ao lado do grupo de instâncias central ou de tarefa que você deseja redimensionar e escolha **Redimensionar grupo de instâncias**. Especifique o novo número de instâncias do grupo de instâncias e selecione **Redimensionar**.
**nota**  
Se você optar por reduzir o tamanho de um grupo de instâncias que estão em execução, o Amazon EMR selecionará de forma inteligente as instâncias a serem removidas do grupo para perda mínima de dados. Para um controle mais granular da ação de redimensionamento, você pode selecionar o **ID** do grupo de instâncias, escolher as instâncias que deseja remover e usar a opção **Terminar**. Para obter mais informações sobre o comportamento inteligente de redução da escala verticalmente, consulte [Opções de redução vertical da escala para os clusters do Amazon EMR](emr-scaledown-behavior.md).

1. Para cancelar a ação de redimensionamento, selecione o botão de opção para um grupo de instâncias com o status **Resizing** e escolha **Interromper redimensionamento** na lista de ações.

1. Para adicionar um ou mais grupos de instâncias de tarefa ao cluster em resposta ao aumento da workload, escolha **Adicionar grupo de instâncias de tarefa** na lista de ações. Escolha o tipo de instância do Amazon EC2, insira o número de instâncias para o grupo de tarefa e selecione **Adicionar grupo de instâncias de tarefa** para retornar ao painel **Grupos de instâncias** do cluster.

------

Quando você altera o número de nós, o **Status** do grupo de instâncias é atualizado. Quando a alteração solicitada estiver concluída, o **Status** muda para **Running (Em execução)**.

## Redimensionar um cluster com o AWS CLI
<a name="ResizingParameters"></a>

Você pode usar o AWS CLI para redimensionar um cluster em execução. Você pode aumentar ou diminuir o número de nós de tarefa, e pode aumentar o número de nós core de um cluster em execução. Também é possível encerrar uma instância no grupo de instâncias principal com a AWS CLI ou a API. Isso deve ser feito com cuidado. Desativar uma instância no grupo de instâncias centrais expõe você ao risco de perda de dados, e a instância não é substituída automaticamente.

Além de redimensionar os grupos centrais e de tarefa, você também pode adicionar um ou mais grupos de instâncias de tarefa a um cluster em execução usando a AWS CLI. <a name="IncreaseDecreaseNodesawscli"></a>

**Para redimensionar um cluster alterando a contagem de instâncias com AWS CLI**

Você pode adicionar instâncias ao grupo principal ou ao grupo de tarefas e remover instâncias do grupo de tarefas com o AWS CLI `modify-instance-groups` subcomando com o `InstanceCount` parâmetro. Para adicionar instâncias aos grupos core ou de tarefas, aumente o `InstanceCount`. Para reduzir o número de instâncias no grupo de tarefas, diminua o `InstanceCount`. Alterar o número de instâncias do grupo de tarefas para 0 remove todas as instâncias, mas não o grupo de instâncias.
+ Para aumentar o número de instâncias no grupo de instâncias de tarefas de 3 para 4, digite o comando a seguir e {{ig-31JXXXXXXBTO}} substitua pelo ID do grupo de instâncias.

  ```
  aws emr modify-instance-groups --instance-groups InstanceGroupId={{ig-31JXXXXXXBTO}},InstanceCount={{4}}
  ```

  Para recuperar o `InstanceGroupId`, use o subcomando `describe-cluster`. A saída é um objeto JSON chamado `Cluster` que contém o ID de cada grupo de instâncias. Para usar esse comando, você precisa do ID do cluster (que pode ser recuperado usando o comando `aws emr list-clusters` ou pelo console). Para recuperar o ID do grupo de instâncias, digite o comando a seguir e {{j-2AXXXXXXGAPLF}} substitua-o pelo ID do cluster.

  ```
  aws emr describe-cluster --cluster-id {{j-2AXXXXXXGAPLF}}
  ```

  Com o AWS CLI, você também pode encerrar uma instância no grupo de instâncias principal com o `--modify-instance-groups` subcomando.
**Atenção**  
A especificação de `EC2InstanceIdsToTerminate` deve ser feita com cuidado. As instâncias são encerradas imediatamente, independentemente do status dos aplicativos em execução nelas, e as instâncias não são substituídas automaticamente. Isso é verdadeiro, independentemente da configuração de **Scale down behavior (Comportamento da escalabilidade vertical)** do cluster. O encerramento de uma instância dessa forma tem o risco de perda de dados e de comportamento imprevisível do cluster.

  Para encerrar uma instância específica, você precisa do ID do grupo de instâncias (retornado pelo `aws emr describe-cluster --cluster-id` subcomando) e do ID da instância (retornado pelo `aws emr list-instances --cluster-id` subcomando), digite o comando a seguir, {{ig-6RXXXXXX07SA}} substitua pelo ID do grupo de instâncias e {{i-f9XXXXf2}} substitua pelo ID da instância.

  ```
  1. aws emr modify-instance-groups --instance-groups InstanceGroupId={{ig-6RXXXXXX07SA}},EC2InstanceIdsToTerminate={{i-f9XXXXf2}}
  ```

  Para obter mais informações sobre o uso dos comandos do Amazon EMR no AWS CLI, consulte. [https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr)

**Para redimensionar um cluster adicionando grupos de instâncias de tarefas com o AWS CLI**

Com o AWS CLI, você pode adicionar de 1 a 48 grupos de instâncias de tarefas a um cluster com o `--add-instance-groups` subcomando. Os grupos de instâncias de tarefa só podem ser adicionados a um cluster contendo um grupo de instâncias primárias e um grupo de instâncias centrais. Ao usar o AWS CLI, você pode adicionar até cinco grupos de instâncias de tarefas sempre que usar o `--add-instance-groups` subcomando.

1. Para adicionar um único grupo de instâncias de tarefas a um cluster, digite o comando a seguir e {{j-JXBXXXXXX37R}} substitua pelo ID do cluster.

   ```
   1. aws emr add-instance-groups --cluster-id {{j-JXBXXXXXX37R}} --instance-groups InstanceCount={{6}},InstanceGroupType={{task}},InstanceType={{m5.xlarge}}
   ```

1. Para adicionar vários grupos de instâncias de tarefas a um cluster, digite o comando a seguir e {{j-JXBXXXXXX37R}} substitua pelo ID do cluster. Você pode adicionar até cinco grupos de instâncias de tarefas em um único comando.

   ```
   aws emr add-instance-groups --cluster-id {{j-JXBXXXXXX37R}} --instance-groups InstanceCount={{6}},InstanceGroupType={{task}},InstanceType={{m5.xlarge}} InstanceCount={{10}},InstanceGroupType={{task}},InstanceType={{m5.xlarge}}
   ```

   Para obter mais informações sobre o uso dos comandos do Amazon EMR no AWS CLI, consulte. [https://docs.aws.amazon.com/cli/latest/reference/emr](https://docs.aws.amazon.com/cli/latest/reference/emr)

## Interromper um redimensionamento
<a name="interruptible-resize"></a>

Usando o Amazon EMR versão 4.1.0 ou posteriores, você pode iniciar um redimensionamento no meio de uma operação de redimensionamento existente. Além disso, você pode interromper uma solicitação de redimensionamento enviada anteriormente ou enviar uma nova solicitação para substituir uma solicitação anterior, antes mesmo que ela seja concluída. Você também pode interromper um redimensionamento pelo console ou com a chamada de API `ModifyInstanceGroups`, usando a contagem atual como a contagem de destino do cluster.

A imagem a seguir mostra um grupo de instâncias de tarefas que está sendo redimensionado mas pode ser interrompido pela opção de **Stop (Interromper)**.

![Grupo de instâncias de tarefas mostrando o status de redimensionamento com opções para redimensionar ou parar.](http://docs.aws.amazon.com/pt_br/emr/latest/ManagementGuide/images/resize-stop.png)


**Para interromper um redimensionamento com o AWS CLI**

Você pode usar o AWS CLI para interromper o redimensionamento com o `modify-instance-groups` subcomando. Suponha que você tem seis instâncias em um grupo de instâncias e deseja aumentar este número para 10. E mais tarde você decide cancelar essa solicitação:
+ A solicitação inicial:

  ```
  aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-{{myInstanceGroupId}},InstanceCount=10
  ```

  A segunda solicitação para interromper a primeira solicitação:

  ```
  aws emr modify-instance-groups --instance-groups InstanceGroupId=ig-{{myInstanceGroupId}},InstanceCount=6
  ```

**nota**  
Como esse processo é assíncrono, é possível que você veja o número de instâncias ser alterado em relação às solicitações anteriores da API antes que as solicitações subsequentes sejam acatadas. Em caso de redução, se você tiver um trabalho em execução nos nós, é possível que o grupo de instâncias não seja reduzido até que os nós tenham concluído seu trabalho.

## Estado suspenso
<a name="emr-manage-resizeSuspended"></a>

Um grupo de instâncias entra em estado suspenso se encontrar muitos erros durante a tentativa de iniciar os novos nós do cluster. Por exemplo, se os novos nós falham ao executar ações de bootstrap, o grupo de instâncias entra no estado *SUSPENDED*, em vez de continuar a fornecer novos nós. Depois de resolver o problema básico, redefina o número desejado de nós no grupo de instâncias do cluster e, em seguida, o grupo de instâncias reiniciará a alocação de nós. A modificação de um grupo de instâncias instrui o Amazon EMR a tentar fornecer nós novamente. Os nós em execução não são reiniciados ou encerrados.

No AWS CLI, o `list-instances` subcomando retorna todas as instâncias e seus estados, assim como o `describe-cluster` subcomando. Se o Amazon EMR detecta uma falha com um grupo de instâncias, ele altera o estado do grupo para `SUSPENDED`. 

**Para redefinir um cluster em um estado SUSPENSO com o AWS CLI**

Digite o subcomando `describe-cluster` com o parâmetro `--cluster-id` para visualizar o estado das instâncias no cluster.
+ Para ver informações sobre todas as instâncias e grupos de instâncias em um cluster, digite o comando a seguir e {{j-3KVXXXXXXY7UG}} substitua pelo ID do cluster.

  ```
  1. aws emr describe-cluster --cluster-id {{j-3KVXXXXXXY7UG}}
  ```

  A saída exibe informações sobre os grupos de instâncias e o estado das instâncias:

  ```
   1. {
   2.     "Cluster": {
   3.         "Status": {
   4.             "Timeline": {
   5.                 "ReadyDateTime": 1413187781.245,
   6.                 "CreationDateTime": 1413187405.356
   7.             },
   8.             "State": "WAITING",
   9.             "StateChangeReason": {
  10.                 "Message": "Waiting after step completed"
  11.             }
  12.         },
  13.         "Ec2InstanceAttributes": {
  14.             "Ec2AvailabilityZone": "us-west-2b"
  15.         },
  16.         "Name": "Development Cluster",
  17.         "Tags": [],
  18.         "TerminationProtected": false,
  19.         "RunningAmiVersion": "3.2.1",
  20.         "NormalizedInstanceHours": 16,
  21.         "InstanceGroups": [
  22.             {
  23.                 "RequestedInstanceCount": 1,
  24.                 "Status": {
  25.                     "Timeline": {
  26.                         "ReadyDateTime": 1413187775.749,
  27.                         "CreationDateTime": 1413187405.357
  28.                     },
  29.                     "State": "RUNNING",
  30.                     "StateChangeReason": {
  31.                         "Message": ""
  32.                     }
  33.                 },
  34.                 "Name": "MASTER",
  35.                 "InstanceGroupType": "MASTER",
  36.                 "InstanceType": "m5.xlarge",
  37.                 "Id": "ig-3ETXXXXXXFYV8",
  38.                 "Market": "ON_DEMAND",
  39.                 "RunningInstanceCount": 1
  40.             },
  41.             {
  42.                 "RequestedInstanceCount": 1,
  43.                 "Status": {
  44.                     "Timeline": {
  45.                         "ReadyDateTime": 1413187781.301,
  46.                         "CreationDateTime": 1413187405.357
  47.                     },
  48.                     "State": "RUNNING",
  49.                     "StateChangeReason": {
  50.                         "Message": ""
  51.                     }
  52.                 },
  53.                 "Name": "CORE",
  54.                 "InstanceGroupType": "CORE",
  55.                 "InstanceType": "m5.xlarge",
  56.                 "Id": "ig-3SUXXXXXXQ9ZM",
  57.                 "Market": "ON_DEMAND",
  58.                 "RunningInstanceCount": 1
  59.             }
  60. ...
  61. }
  ```

  Para exibir as informações sobre um grupo de instâncias específico, digite o subcomando `list-instances` com os parâmetros `--cluster-id` e `--instance-group-types`. Você pode visualizar as informações para grupos primários, centrais ou de tarefa.

  ```
  1. aws emr list-instances --cluster-id {{j-3KVXXXXXXY7UG}} --instance-group-types {{"CORE"}}
  ```

  Use o subcomando `modify-instance-groups` com o parâmetro `--instance-groups` para redefinir um cluster no estado `SUSPENDED`. O ID do grupo de instâncias é obtido pelo subcomando `describe-cluster`.

  ```
  1. aws emr modify-instance-groups --instance-groups InstanceGroupId={{ig-3SUXXXXXXQ9ZM}},InstanceCount={{3}}
  ```

## Considerações ao reduzir o tamanho do cluster
<a name="resize-considerations"></a>

Se você optar por reduzir o tamanho de um cluster em execução, leve em consideração o seguinte comportamento e as práticas recomendadas do Amazon EMR:
+ Para reduzir o impacto nas tarefas que estão em andamento, o Amazon EMR seleciona de forma inteligente as instâncias a serem removidas. Para obter mais informações sobre o comportamento de redução da escala verticalmente do cluster, consulte [Terminar na conclusão de tarefas](emr-scaledown-behavior.md#emr-scaledown-terminate-task) no Guia de gerenciamento do Amazon EMR. 
+ Quando você reduz a escala verticalmente de um cluster, o Amazon EMR copia os dados das instâncias que ele remove para as instâncias que permanecem. Verifique se há capacidade de armazenamento suficiente para esses dados nas instâncias que permanecem no grupo.
+ O Amazon EMR tenta desativar o HDFS em instâncias do grupo. Antes de reduzir o tamanho de um cluster, é recomendável minimizar a E/S de gravação do HDFS.
+ Para obter o controle mais granular ao reduzir o tamanho de um cluster, é possível visualizar o cluster no console e navegar até a guia **Instâncias**. Selecione o **ID** do grupo de instâncias que você deseja redimensionar. Em seguida, use a opção **Terminar** para as instâncias específicas que você deseja remover. 