Todos os produtos
Search
Central de documentação

E-MapReduce:Manually scale in a node group

Última atualização: Sep 21, 2026

Se a carga do seu cluster permanecer baixa por um período prolongado e muitos recursos estiverem ociosos, considere reduzir o grupo de nós Core ou Task para evitar desperdício de recursos. Para grupos de nós Task com pagamento conforme o uso, realize essa operação diretamente no console. Para os demais 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.

  • Se o cluster for um cluster Hadoop legado de alta disponibilidade (HA) com dois nós Master, não descomissione o nó emr-worker-1 (em clusters HA legados, o ZooKeeper é executado 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 as melhores práticas. Avalie com cuidado 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 a descomissionar

Reduzir um grupo de nós consiste em descomissionar nós dentro desse grupo. Escolha os nós com base na carga dos 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: EMR console Monitoring and Diagnostics

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

  2. Na página Metric Monitoring, verifique a métrica AvailableGB no painel YARN-NodeManagers. Se o AvailableGB de um nó permanecer elevado por muito tempo, esse nó possui memória disponível em abundância e pode ser liberado.

Nota

Combine outras métricas com os requisitos do seu negócio como critério de decisão.

Método 2: YARN web UI

  1. Verifique 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 para cada partição (como DEFAULT_PARTITION ou batch). Use métricas como Capacity, Used e Max Capacity na legenda para determinar se os recursos da fila estão ociosos.

  2. Na página Nodes, ordene por Nodes Address para identificar rapidamente os nós com maior memória disponível e considere liberá-los.

Importante

Se o cluster for um cluster Hadoop legado, tome cuidado especial nos seguintes casos:

  • Se o cluster não for HA, não descomissione emr-worker-1 nem emr-worker-2.

  • Se o cluster for HA, mas tiver apenas dois nós Master, não descomissione emr-worker-1.

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

Antes de descomissionar nós para reduzir um grupo de nós Core ou Task, descomissione primeiro os serviços de componentes relevantes nesses nós e, em seguida, libere os recursos do nó. Os componentes implantados podem ser visualizados na página Nodes no console.

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

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

Se o nó que você planeja descomissionar executar algum dos serviços a seguir, 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 dos dados.

Descomissionar o YARN NodeManager

  1. Acesse a página de status do service YARN.

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

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

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

  2. Descomissione o NodeManager no nó alvo.

    1. Em Components, clique em core_p0 > Unpublish na coluna Actions do 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 o HDFS DataNode

  1. Faça login em um nó Master via SSH. Para mais detalhes, consulte Log on to a cluster.

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

    sudo su - hdfs
    hdfs haadmin -getAllServiceState
  3. Acesse via SSH 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 descomissionar.

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

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

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

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

    hadoop dfsadmin -report

    Quando o Status do nó especificado exibir Decommissioned, os dados foram migrados para outros nós e o descomissionamento está concluído.

Descomissionar o StarRocks

  1. Faça login no cluster e conecte-se usando um cliente. Para mais detalhes, consulte Quick Start.

  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 seguintes parâmetros de acordo com o seu cluster:

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

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

    Se o descomissionamento estiver lento, force o processo usando o método DROP.

    Importante

    Ao usar 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 seguinte comando 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 chegar a 0, o sistema limpa os metadados.

    Se o nó BE não aparecer mais nos resultados, o descomissionamento foi concluído com êxito.

Descomissionar o HBase HRegionServer

  1. Acesse a página de status do service HBase.

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

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

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

  2. Descomissione o HRegionServer no nó alvo.

    1. Em Components, clique em STOP na coluna Actions do 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 o HBASE-HDFS DataNode

  1. Faça login em um nó Master via SSH. Para mais detalhes, consulte Log on to a cluster.

  2. Execute os seguintes comandos para alternar para o usuário hdfs e definir as 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. Acesse via SSH 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 descomissionar.

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

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

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

    hadoop dfsadmin -report

    Quando o Status do nó especificado exibir Decommissioned, os dados foram migrados para outros nós e o descomissionamento está concluído.

    1. Acesse a página de status do service SmartData.

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

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

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

    2. Descomissione o JindoStorageService no nó alvo.

      1. Em Components, clique em core_p0 > Unpublish na coluna Actions do 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.

Etapa 3: Liberar os nós descomissionados

Importante

Para gerencie os nós do cluster, faça login no ECS console. Usuários do Resource Access Management (RAM) precisam 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 E-MapReduce console.

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

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

    Você será redirecionado para o ECS console.

  3. Libere a instância no ECS console. Para mais detalhes, consulte Release instances.

Referências

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

  • Se o cluster não tiver recursos de computação suficientes, expanda o grupo de nós Core ou Task. Para mais detalhes, consulte Scale out a cluster.

  • Para ajustar automaticamente os recursos de computação do cluster com base nas necessidades do negócio, configure regras de Auto Scaling gerenciadas ou personalizadas para grupos de nós. Para mais detalhes, consulte Auto Scaling.