Todos os produtos
Search
Central de documentação

E-MapReduce:Use EMR-CLI to deploy a custom gateway environment

Última atualização: Sep 17, 2026

Um gateway envia jobs para um cluster de computação e fornece isolamento de segurança. O EMR-CLI simplifica a implantação do gateway ao criar automaticamente uma instância do Alibaba Cloud ecs e configurar o ambiente de gateway para clusters DataLake, Dataflow ou OLAP.

Opções de implantação de gateway

O Gateway é uma camada de isolamento para envio de jobs fornecida pelo EMR. Seus principais benefícios incluem:

  • Desacoplar cargas de trabalho do cliente dos serviços principais do cluster

    Remove operações do cliente, como spark-submit, hive -f e yarn application, dos nós mestres.

  • Permitir isolamento em um ambiente multilocatário

    Oferece suporte a ambientes de execução separados para usuários ou departamentos.

  • Melhorar a estabilidade e a manutenibilidade do cluster

    Evita que envios frequentes de jobs, depuração de scripts, conflitos de ambiente ou contenção de recursos afetem serviços críticos como YARN ResourceManager e HDFS NameNode.

O EMR oferece três opções de Gateway para atender a diferentes tipos de cluster, versões e requisitos de arquitetura.

Opção

Tipos e versões de cluster compatíveis

Implantação e recursos principais

Casos de uso e recomendações

Grupo de nós de gateway
(Recomendado)



Compatível apenas com os seguintes clusters:

  • Clusters DataLake e DataFlow: EMR-5.10.1 e posteriores

  • Clusters personalizados: EMR-5.17.1 e posteriores

• Adicione um novo grupo de nós a um cluster existente. Para mais informações, consulte Manage node groups.
• Sincroniza automaticamente as configurações do cliente a partir da versão principal do cluster.







Altamente recomendado: Utilize esta opção para adicionar rapidamente um ponto de entrada de envio seguro e isolado a um cluster DataLake ou DataFlow existente. Oferece o menor custo de manutenção e garante alta consistência de configuração.

Ambiente de gateway

Compatível com clusters DataLake, DataFlow, Personalizado e OLAP.

• Implante manualmente em uma instância ecs. Para detalhes, consulte Use the EMR CLI to customize a Gateway environment deployment.
• Fornece um sistema de arquivos e um ambiente de execução totalmente independentes. É necessário sincronizar manualmente as configurações do cliente a partir da versão principal do cluster.



Uma alternativa padrão quando seu cluster não é compatível com um grupo de nós de gateway.

Cluster de gateway

Compatível apenas com clusters Hadoop e Kafka.

  • Crie um cluster EMR separado que contenha apenas nós de Gateway. Para mais informações, consulte Create a Gateway cluster.

  • Sincroniza automaticamente as configurações do cliente a partir da versão principal do cluster.

Indicado para clusters Hadoop e Kafka.

Pré-requisitos

É necessário ter um cluster de computação E-MapReduce para cenários DataLake, Dataflow, OLAP ou Personalizado em execução. Para obter instruções sobre como criar um cluster, consulte Create a cluster.

Limitações

  • Tipo de cluster: Esta solução aplica-se apenas à implantação de um ambiente de gateway para clusters DataLake, Dataflow, OLAP e Personalizados. Se o tipo e a versão do cluster forem compatíveis, recomenda-se o uso de um grupo de nós de gateway.

    Para informações sobre a implantação de um ambiente de gateway para clusters Hadoop e Kafka existentes, consulte Create a gateway cluster.

    Nota

    Apenas contas Alibaba Cloud que criaram clusters Hadoop ou Kafka antes das 17:00 (UTC+8) em 19 de dezembro de 2022 podem continuar a criá-los.

  • Instalação por substituição: O EMR-CLI implanta clientes de gateway no modo de substituição. A reimplantação em uma instância ecs com um gateway existente substitui o cliente antigo e instala o novo cliente no mesmo diretório.

  • Implantação isolada: Não utilize uma instância ecs existente do seu cluster EMR (como um nó Master, Core ou Task) como nó de gateway. Isso evita que o ambiente do cliente interfira nas operações normais do cluster.

  • Serviços compatíveis: Este método de implantação é compatível com clientes para os seguintes service: HDFS, YARN, HBase, Hive, Spark 2, Spark 3, JindoSDK, Flink, Sqoop, Impala, Presto, Hudi, Iceberg, Tez e Delta Lake.

Primeira implantação

  1. No console ecs, crie uma instância. Para mais informações, consulte Create an instance by using the wizard.

    Nota

    A instância ecs não requer acesso à rede pública.

    As seguintes configurações de parâmetro são recomendadas.

    Parâmetro

    Descrição

    Região e zona

    Mesma região e zona do cluster EMR.

    Imagem

    Mesmo sistema operacional das instâncias do cluster EMR.

    Disco do sistema

    Recomenda-se um ESSD de pelo menos 60 GiB.

    Rede

    Mesma Virtual Private cloud (vpc) do cluster EMR.

    Grupo de segurança

    Utilize o mesmo grupo de segurança do grupo de nós mestres do cluster EMR. Isso garante a conectividade de rede entre a instância ecs e o cluster EMR.

  2. Crie uma função RAM do ecs dedicada para o gateway EMR.

    1. Faça login no console RAM como administrador RAM.

    2. No painel de navegação à esquerda, escolha Identities > Role.

    3. Na página Role, clique em Create Role.

    4. No painel Create Role, defina Principal Type como Cloud Service e Principal Name como Elastic Compute Service e clique em OK.

    5. Insira um Role Name (por exemplo, ECSForEMRGatewayRole) e clique em OK.

  3. Conceda permissões à função RAM.

    1. Na aba Permission Settings, clique em Add Authorization.

    2. No painel Add Authorization, selecione System Policy. Pesquise e selecione AliyunEMRFullAccess, AliyunOSSFullAccess e AliyunDLFFullAccess. Em seguida, clique em OK.

    3. Clique em Close.

  4. Anexe a função RAM à instância ecs.

    1. Faça login no console ecs.

    2. Na barra de navegação à esquerda, selecione Instances & Images > Instance.

    3. Na barra de menu superior, selecione a região.

    4. Localize a instância ecs recém-criada e escolha image > Instance Settings > Attach/Detach RAM Role.

    5. Na caixa de diálogo exibida, selecione a função ECSForEMRGatewayRole e clique em OK.

  5. Conecte-se à instância ecs. Para mais informações, consulte Connect to an instance.

  6. Execute o seguinte comando para instalar o EMR-CLI.

    regionId=`curl http://100.100.100.200/latest/meta-data/region-id`; curl https://ecm-repo-${regionId}.oss-${regionId}-internal.aliyuncs.com/emrcli/emrcli.sh -o /tmp/emrcli.sh; chmod 755 /tmp/emrcli.sh; sh /tmp/emrcli.sh install ${regionId}

    Uma instalação bem-sucedida retorna a seguinte mensagem:

    install emrcli success
  7. Execute o seguinte comando para implantar o cliente de gateway EMR.

    emrcli gateway deploy \
      --clusterId <ClusterId> \
      --appNames <ApplicationName>

    Substitua os seguintes parâmetros pelos seus valores reais.

    Parâmetro

    Obrigatório

    Descrição

    clusterId

    Sim

    O ID do cluster E-MapReduce.

    appNames

    Não

    Os nomes dos aplicativos. Separe vários nomes com vírgula (,), por exemplo, HDFS,YARN.

    Se omitido, os clientes para todos os aplicativos compatíveis no cluster serão instalados por padrão.

    Uma implantação bem-sucedida retorna a seguinte mensagem:

    deployGateway success
    Importante

    Após a instalação do gateway, a variável de ambiente do sistema JAVA_HOME é definida como /usr/lib/jvm/java-1.8.0. Você pode modificá-la no arquivo /etc/profile.d/emr_env.sh, mas isso pode afetar a funcionalidade do gateway. Prossiga com cautela.

  8. Faça login novamente na instância ecs para aplicar as novas variáveis de ambiente.

  9. Opcional: Configure a resolução DNS para o nó de gateway.

    Importante

    Esta etapa é obrigatória se o gateway incluir o service Spark.

    1. Adicione uma zona. Para mais informações, consulte Add a built-in authoritative zone.

    2. Adicione um registro DNS. Para mais informações, consulte Add DNS records.

      A tabela a seguir descreve os parâmetros necessários.

      Parâmetro

      Descrição

      Record type

      Utilize o valor padrão A.

      Hostname

      Insira o nome do host do nó de gateway, por exemplo, iZ2zea8r0aht2vzbqci****.

      Você pode obter o nome do host executando o comando hostname.

      Record value

      Insira o endereço IP interno do nó de gateway.

      Você pode visualizar este endereço na página de gerenciamento de nós.

      TTL value

      Utilize o valor padrão.

  10. Gerenciamento de gateway

    Após a criação do gateway, execute comandos para atualizar componentes do cliente ou sincronizar configurações quando service forem adicionados ou modificados no cluster associado.

    Atualizar componentes do cliente

    Se um novo service, como Flink, for adicionado ao cluster EMR, instale incrementalmente o cliente correspondente no nó de gateway. O comando deploy substitui as configurações de aplicativos existentes e instala incrementalmente as novas.

    # Example: Add the FLINK client to an existing HDFS and YARN setup
    emrcli gateway deploy \
      --clusterId <ClusterId> \
      --appNames HDFS,YARN,FLINK

    Uma atualização bem-sucedida retorna a seguinte mensagem:

    deployGateway success

    Sincronizar configurações

    Se você alterar uma configuração de service no cluster EMR (por exemplo, modificar core-site.xml no console E-MapReduce), sincronize manualmente a nova configuração com o nó de gateway.

    Importante

    A sincronização de configurações substitui as configurações existentes no gateway. Prossiga com cautela.

    # Run the synchronization command
    emrcli gateway refreshConfigs \
      --clusterId <ClusterId> \
      --appNames <ApplicationName> # Optional. Specify the applications to synchronize.

    Uma sincronização bem-sucedida retorna a seguinte mensagem:

    refreshConfiguration success

    Gerenciamento do EMR-CLI

    Visualizar versão do EMR-CLI

    Execute o seguinte comando para visualizar a versão do EMR-CLI.

    emrcli version

    O comando retorna informações semelhantes às seguintes:

    2.0.0

    Atualizar o EMR-CLI

    Para atualizar para a versão mais recente, execute novamente a etapa de instalação do EMR-CLI em Deploy a gateway environment for the first time.

    FAQ

    P: Como troco de cluster de computação?

    R: Para trocar de cluster de computação, siga estas etapas:

    1. Para evitar perda de dados, use o comando mv para fazer backup manual dos arquivos do cluster antigo. Faça backup do diretório /opt/apps, do diretório /etc/taihao-apps e do arquivo /etc/profile.d/yarn.sh.

    2. Siga as etapas neste tópico para reimplementar o ambiente de gateway para o novo cluster.