Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 27, 2026

O gateway serve principalmente para enviar jobs a um cluster de computação e fornecer isolamento de segurança. Para simplificar a implantação do ambiente de gateway, o E-MapReduce oferece a ferramenta EMR-CLI. Essa ferramenta utiliza o Elastic Compute Service (ECS) da Alibaba Cloud para criar uma instância e implantar o ambiente de gateway. Se você tiver um cluster DataLake, Dataflow ou OLAP, consulte este tópico para implantar o ambiente de gateway.

Opções de implantação de gateway

O Gateway atua como 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

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

  • Permitir isolamento em ambientes multilocatários

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

  • Melhorar a estabilidade e a manutenção 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 clusters, 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

• Adiciona um novo grupo de nós a um cluster existente. Para mais informações, consulte Gerenciar grupos de nós.
• 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 Usar o EMR CLI para personalizar uma implantação de ambiente de Gateway.
• Fornece um sistema de arquivos e 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 contendo apenas nós de Gateway. Para mais informações, consulte Criar um cluster de Gateway.

  • 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 Criar um 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 Criar um cluster de gateway.

    Nota

    Apenas contas da 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 sobrescreve 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 serviços: 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 Criar uma instância usando o assistente.

    Nota

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

    As seguintes configurações de parâmetros 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 dedicada ao 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 Conectar-se a uma instância.

  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 seu cluster E-MapReduce.

    appNames

    Não

    Os nomes dos aplicativos. Para especificar vários aplicativos, separe os nomes com vírgula (,), por exemplo, HDFS,YARN.

    Se este parâmetro for omitido, os clientes para todos os aplicativos compatíveis no cluster, como Hive e HDFS, 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. Proceda 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 serviço Spark.

    1. Adicione uma zona. Para mais informações, consulte Adicionar uma zona autoritativa integrada.

    2. Adicione um registro DNS. Para mais informações, consulte Adicionar registros DNS.

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

      Parâmetro

      Descrição

      Record type

      Use 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 esse endereço na página de gerenciamento de nós.

      TTL value

      Use o valor padrão.

Gerenciamento de gateway

Após criar o gateway, caso adicione novos serviços ao cluster associado ou altere configurações de serviço, execute comandos para atualizar componentes do cliente ou sincronizar as configurações mais recentes.

Atualizar componentes do cliente

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

# 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 serviço 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 sobrescreve as configurações existentes no gateway. Proceda 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 Implantar um ambiente de gateway pela primeira vez.

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 deste tópico para reimplantar o ambiente de gateway para o novo cluster.