Todos os produtos
Search
Central de documentação

E-MapReduce:Reduzir manualmente um grupo de nós

Última atualização: Jun 27, 2026

Se a carga do cluster permanecer baixa por um longo período e muitos recursos estiverem ociosos, considere reduzir o grupo de nós Core ou Task para evitar desperdício. Em grupos de nós Task com pagamento conforme o uso, realize essa operação diretamente no console. Para outros tipos — incluindo grupos de nós Core com pagamento conforme o uso, grupos de nós Task por assinatura e grupos de nós Core por assinatura — siga o procedimento descrito neste tópico.

Limites

  • Se o número de nós Core no cluster for igual ao fator de replicação do HDFS, não reduza os nós Core para evitar perda de dados.

  • Em clusters Hadoop legados de alta disponibilidade (HA) com dois nós Master, não descomissione o nó emr-worker-1 (nesse tipo de cluster, o ZooKeeper executa no work-1).

Observações importantes

  • Todas as operações descritas neste tópico são irreversíveis. Após iniciar o descomissionamento, não é possível restaurar o estado original.

  • Este tópico apresenta práticas recomendadas. Avalie cuidadosamente as condições reais do cluster antes de prosseguir para evitar falhas no agendamento de jobs e riscos à segurança dos dados.

Como escolher os nós para descomissionamento

A redução de um grupo de nós ocorre mediante o descomissionamento de nós dentro desse grupo. Escolha os nós com base na carga de serviços do cluster. Este tópico apresenta dois métodos para verificar o uso de recursos e identificar candidatos ao descomissionamento.

Método 1: Monitoring and Diagnostics no console EMR

  1. Na página Metric Monitoring, verifique a métrica AvailableVCores no painel YARN-Queues. Se AvailableVCores permanecer alto por muito tempo, a fila possui muitos vCores ociosos; nesse caso, considere reduzir o grupo de nós Core ou Task.

  2. Ainda na página Metric Monitoring, analise a métrica AvailableGB no painel YARN-NodeManagers. Quando o AvailableGB de um nó se mantém elevado por um longo período, isso indica memória disponível em abundância; portanto, considere liberar esse nó.

Nota

Combine outras métricas aos requisitos do seu negócio como critérios de decisão.

Método 2: YARN web UI

  1. Analise o uso de recursos das filas. Se as filas utilizarem consistentemente pouca capacidade, considere reduzir o grupo de nós Core ou Task.

    Na página Application Queues do YARN ResourceManager, visualize a memória e os vCores alocados e utilizados por cada partição (como DEFAULT_PARTITION ou batch). Utilize métricas como Capacity, Used e Max Capacity na legenda para determinar se há recursos ociosos nas filas.

  2. Na página Nodes, ordene por Nodes Address para identificar rapidamente os nós com maior quantidade de memória disponível. Considere liberar esses nós.

Importante

Para clusters Hadoop legados, tome precauções especiais nos seguintes casos:

  • Em clusters sem HA, não descomissione os nós emr-worker-1 ou emr-worker-2.

  • Em clusters HA com apenas dois nós Master, não descomissione o nó emr-worker-1.

Etapa 1: Verificar serviços nos nós a serem descomissionados

Antes de descomissionar nós para reduzir um grupo Core ou Task, descomissione primeiro os serviços de componentes relevantes nesses nós. Em seguida, libere os recursos do nó. Visualize os componentes implantados na página Nodes do console.

Na página Node management, expanda o grupo de nós desejado, localize o nó alvo e clique em ícone de contagem de componentes (por exemplo, 12 components) no lado direito da linha do nó. Uma camada pop-up exibirá todos os componentes implantados e seus status de execução.

Etapa 2: Descomissionar serviços de componentes do nó

Se o nó planejado para descomissionamento executar algum dos serviços abaixo, descomissione esses serviços antes de liberar o nó. Caso contrário, há risco de falhas no agendamento de jobs e problemas de segurança de dados.

Descomissionar YARN NodeManager

  1. Acesse a página de status do serviço YARN.

    1. Faça login no console E-MapReduce.

    2. Na barra de menus superior, selecione a região e o grupo de recursos conforme necessário.

    3. Na página EMR on ECS, clique em Services na coluna Actions do cluster desejado.

    4. Na página Services, clique em Status na seção do serviço YARN.

  2. Descomissione o NodeManager no nó alvo.

    1. Em Components, clique em core_p0 > Unpublish na coluna Actions referente ao NodeManager.

    2. Na caixa de diálogo, selecione Execution Scope > Specific Machine, insira um Execution Reason e clique em OK.

    3. Na caixa de diálogo de confirmação, clique em OK.

  3. Clique em Operation History no canto superior direito para acompanhar o progresso.

Descomissionar HDFS DataNode

  1. Conecte-se a um nó Master via SSH. Para mais detalhes, consulte Conectar-se a um cluster.

  2. Mude para o usuário hdfs e verifique o número de NameNodes ativos.

    sudo su - hdfs
    hdfs haadmin -getAllServiceState
  3. Conecte-se via SSH a cada host NameNode e edite o arquivo dfs.exclude para adicionar o hostname do nó que deseja descomissionar. Adicione apenas um nó por vez.

    • Clusters Hadoop legados

      touch /etc/ecm/hadoop-conf/dfs.exclude
      vim /etc/ecm/hadoop-conf/dfs.exclude

      No vim, pressione o para iniciar uma nova linha e insira o hostname do DataNode a ser descomissionado.

      emr-worker-3.cluster-xxxxx
      emr-worker-4.cluster-xxxxx
    • Clusters Hadoop não legados

      touch /etc/taihao-apps/hdfs-conf/dfs.exclude
      vim /etc/taihao-apps/hdfs-conf/dfs.exclude

      No vim, pressione o para iniciar uma nova linha e insira o hostname do DataNode a ser descomissionado.

      core-1-3.c-0894dxxxxxxxxx
      core-1-4.c-0894dxxxxxxxxx
  4. Em qualquer host NameNode, mude para o usuário hdfs e execute o comando de atualização. O HDFS iniciará automaticamente o descomissionamento.

    sudo su - hdfs
    hdfs dfsadmin -refreshNodes
  5. Confirme o resultado do descomissionamento.

    Execute o comando abaixo para verificar se o descomissionamento foi concluído.

    hadoop dfsadmin -report

    Quando o Status do nó especificado aparecer como Decommissioned, significa que seus dados foram migrados para outros nós e o descomissionamento está completo.

Descomissionar StarRocks

  1. Conecte-se ao cluster utilizando um cliente. Para mais detalhes, consulte Início rápido.

  2. Execute o seguinte comando para descomissionar um BE usando o método DECOMMISSION.

    ALTER SYSTEM DECOMMISSION backend "be_ip:be_heartbeat_service_port";

    Substitua os parâmetros abaixo conforme o seu cluster:

    • be_ip: Localize o endereço IP interno do BE a ser reduzido na página Nodes.

    • be_heartbeat_service_port: O valor padrão é 9050. Verifique-o usando o comando show backends.

    Se o descomissionamento estiver lento, force-o utilizando o método DROP.

    Importante

    Ao utilizar o método DROP, certifique-se de que o sistema mantém dados triplicados.

    ALTER SYSTEM DROP backend "be_ip:be_heartbeat_service_port";
  3. Execute o comando a seguir para monitorar o status do BE.

    show backends;
    MySQL [(none)]> show backends;
    +----------+-----------------+------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+------------------------+-----------+------------------+---------------+---------------+---------+---------+----------+--------+---------------+----------------------------------------------------+-------------------+-------------+----------+
    | BackendId | Cluster         | IP         | HeartbeatPort | BePort | HttpPort | BrpcPort | LastStartTime       | LastHeartbeat       | Alive | SystemDecommissioned | ClusterDecommissioned | TabletNum | DataUsedCapacity | AvailCapacity | TotalCapacity | UsedPct | MaxDiskUsedPct | ErrMsg | Version       | Status                                             | DataTotalCapacity | DataUsedPct | CpuCores |
    +----------+-----------------+------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+------------------------+-----------+------------------+---------------+---------------+---------+---------+----------+--------+---------------+----------------------------------------------------+-------------------+-------------+----------+
    | 10049    | default_cluster | 192.16xxx  | 9050          | 9060   | 18040    | 8060     | 2022-11-29 15:47:28 | 2022-11-29 16:09:48 | true  | true                 | false                 | 0         | .000             | 312.400 GB    | 312.978 GB    | 0.18 %  | 0.19 %         |        | 2.3.2-dbc89ae | {"xxxcessReportTabletsTime":"2022-11-29 16:09:28"} | 312.400 GB        | 0.00 %      | 4        |
    | 10002    | default_cluster | 192.16xxx  | 9050          | 9060   | 18040    | 8060     | 2022-11-29 15:29:07 | 2022-11-29 16:09:48 | true  | false                | false                 | 10        | .000             | 312.399 GB    | 312.978 GB    | 0.19 %  | 0.19 %         |        | 2.3.2-dbc89ae | {"xxxcessReportTabletsTime":"2022-11-29 16:09:08"} | 312.399 GB        | 0.00 %      | 4        |
    | 10003    | default_cluster | 192.16xxx  | 9050          | 9060   | 18040    | 8060     | 2022-11-29 15:29:07 | 2022-11-29 16:09:48 | true  | false                | false                 | 10        | .000             | 312.399 GB    | 312.978 GB    | 0.19 %  | 0.19 %         |        | 2.3.2-dbc89ae | {"xxxcessReportTabletsTime":"2022-11-29 16:09:07"} | 312.399 GB        | 0.00 %      | 4        |
    | 10004    | default_cluster | 192.16xxx  | 9050          | 9060   | 18040    | 8060     | 2022-11-29 15:29:07 | 2022-11-29 16:09:48 | true  | false                | false                 | 10        | .000             | 312.399 GB    | 312.978 GB    | 0.19 %  | 0.19 %         |        | 2.3.2-dbc89ae | {"xxxcessReportTabletsTime":"2022-11-29 16:09:08"} | 312.399 GB        | 0.00 %      | 4        |
    +----------+-----------------+------------+---------------+--------+----------+----------+---------------------+---------------------+-------+----------------------+------------------------+-----------+------------------+---------------+---------------+---------+---------+----------+--------+---------------+----------------------------------------------------+-------------------+-------------+----------+
    4 rows in set (0.01 sec)

    Um nó com SystemDecommissioned definido como true está em processo de descomissionamento. Quando TabletNum atingir 0, o sistema limpará os metadados.

    Se o nó BE não aparecer mais nos resultados, o descomissionamento foi bem-sucedido.

Descomissionar HBase HRegionServer

  1. Acesse a página de status do serviço HBase.

    1. Faça login no console E-MapReduce.

    2. Na barra de menus superior, selecione a região e o grupo de recursos conforme necessário.

    3. Na página EMR on ECS, clique em Services na coluna Actions do cluster desejado.

    4. Na página Services, clique em Status na seção do serviço HBase.

  2. Descomissione o HRegionServer no nó alvo.

    1. Em Components, clique em STOP na coluna Actions referente ao HRegionServer.

    2. Na caixa de diálogo, selecione Execution Scope > Specific Machine, insira um Execution Reason e clique em OK.

    3. Na caixa de diálogo de confirmação, clique em OK.

  3. Clique em Operation history no canto superior direito para acompanhar o progresso.

Descomissionar HBASE-HDFS DataNode

  1. Conecte-se a um nó Master via SSH. Para mais detalhes, consulte Conectar-se a um cluster.

  2. Execute os comandos abaixo para mudar para o usuário hdfs e definir variáveis de ambiente.

    sudo su - hdfs
    export HADOOP_CONF_DIR=/etc/taihao-apps/hdfs-conf/namenode
  3. Execute o seguinte comando para visualizar as informações atuais do NameNode.

    hdfs dfsadmin -report
  4. Conecte-se via SSH a cada host NameNode e edite o arquivo dfs.exclude para adicionar o hostname do nó que deseja descomissionar. Adicione apenas um nó por vez.

    touch /etc/taihao-apps/hdfs-conf/dfs.exclude
    vim /etc/taihao-apps/hdfs-conf/dfs.exclude

    No vim, pressione o para iniciar uma nova linha e insira o hostname do DataNode a ser descomissionado.

    core-1-3.c-0894dxxxxxxxxx
    core-1-4.c-0894dxxxxxxxxx
  5. Em qualquer host NameNode, mude para o usuário hdfs e execute o comando de atualização. O HDFS iniciará automaticamente o descomissionamento.

    sudo su - hdfs
    export HADOOP_CONF_DIR=/etc/taihao-apps/hdfs-conf/namenode
    hdfs dfsadmin -refreshNodes
  6. Confirme o resultado do descomissionamento.Descomissionar SmartData JindoStorageService (clusters Hadoop legados)

    Execute o comando abaixo para verificar se o descomissionamento foi concluído.

    hadoop dfsadmin -report

    Quando o Status do nó especificado aparecer como Decommissioned, significa que seus dados foram migrados para outros nós e o descomissionamento está completo.

    1. Acesse a página de status do serviço SmartData.

      1. Faça login no console E-MapReduce.

      2. Na barra de menus superior, selecione a região e o grupo de recursos conforme necessário.

      3. Na página EMR on ECS, clique em Services na coluna Actions do cluster desejado.

      4. Na página Services, clique em Status na seção do serviço SmartData.

    2. Descomissione o JindoStorageService no nó alvo.

      1. Em Components, clique em core_p0 > Unpublish na coluna Actions referente ao JindoStorageService.

      2. Na caixa de diálogo, selecione Execution Scope > Specific Machine, insira um Execution Reason e clique em OK.

      3. Na caixa de diálogo de confirmação, clique em OK.

    3. Clique em Operation History no canto superior direito para acompanhar o progresso.

Descomissionamento gracioso do Presto

Descomissionamento do Kudu

Etapa 3: Liberar nós descomissionados

Importante

Faça login no console ECS para gerenciar os nós do cluster. Se você for um usuário do Resource Access Management (RAM), precisará de permissões do ECS. Recomendamos conceder a política AliyunECSFullAccess.

  1. Acesse a página de gerenciamento de nós.

    1. Faça login no console E-MapReduce.

    2. Na barra de menus superior, selecione a região e o grupo de recursos conforme necessário.

    3. Na página EMR on ECS, clique em Nodes na coluna Actions do cluster desejado.

  2. Na página Nodes, clique em ID ECS do nó que deseja liberar.

    Você será redirecionado para o console ECS.

  3. Libere a instância no console ECS. Para mais detalhes, consulte Liberar instâncias.

Referências

  • Para reduzir grupos de nós Task com pagamento conforme o uso e instâncias spot, consulte Reduzir um cluster.

  • Se o cluster precisar de mais recursos computacionais, aumente o grupo de nós Core ou Task. Para mais detalhes, consulte Aumentar um cluster.

  • Para ajustar automaticamente os recursos computacionais do cluster conforme a demanda do negócio, configure regras de Auto Scaling gerenciadas ou personalizadas para os grupos de nós. Para mais detalhes, consulte Auto Scaling.