Todos os produtos
Search
Central de documentação

E-MapReduce:Funções de aplicação ECS para EMR V3.32 e anteriores e EMR V4.5 e anteriores

Última atualização: Jun 27, 2026

O E-MapReduce (EMR) vincula automaticamente uma função de aplicação ECS chamada MetaService a todo cluster criado. Jobs e aplicações em execução no cluster usam essa função para acessar recursos da Alibaba Cloud sem exigir pares AccessKey em arquivos de configuração ou código, o que elimina o risco de exposição de credenciais.

O MetaService permite acesso aos seguintes serviços sem par AccessKey:

Serviço

Ativado por padrão

Object Storage Service (OSS)

Sim

Log Service

Não — requer permissões adicionais do RAM

Message Service (MNS)

Não — requer permissões adicionais do RAM

Para ativar o acesso ao Log Service ou ao MNS, conceda as permissões necessárias à função AliyunEmrEcsDefaultRole no console do RAM. Para mais informações, consulte Conceder permissões a uma função do RAM.

Pré-requisitos

Antes de começar, verifique se você já:

Como o MetaService funciona

Quando um job ou aplicação chama um serviço compatível da Alibaba Cloud, o MetaService fornece internamente uma credencial temporária do Security Token Service (STS). Assim, não é necessário incluir pares AccessKey no código ou nas configurações.

Rotação de credenciais STS: O sistema gera uma nova credencial temporária STS 30 minutos antes do vencimento da atual. Ambas as credenciais permanecem válidas durante essa janela de sobreposição de 30 minutos.

Permissões padrão

A função AliyunEmrEcsDefaultRole vem configurada com a política AliyunEmrECSRolePolicy, que concede as permissões a seguir.

Permissões do OSS

Permissão (Action)

Descrição

oss:PutObject

Faz upload de um arquivo ou pasta

oss:GetObject

Consulta um arquivo ou pasta

oss:ListObjects

Lista arquivos

oss:DeleteObject

Exclui um arquivo

oss:ListBuckets

Consulta buckets

oss:AbortMultipartUpload

Interrompe um evento de upload multipart

oss:ListMultipartUploads

Lista todos os eventos de upload multipart em andamento

oss:RestoreObject

Restaura um objeto Archive ou Cold Archive

oss:GetBucketInfo

Obtém informações sobre um bucket

oss:ListObjectVersions

Lista as versões de todos os objetos em um bucket, incluindo marcadores de exclusão

oss:DeleteObjectVersion

Exclui uma versão específica de um objeto

oss:PostDataLakeStorageFileOperation

Acessa o OSS-HDFS

Permissões do Tablestore

Permissão (Action)

Descrição

ots:CreateTable

Crie uma tabela com base no esquema especificado

ots:DeleteTable

Exclua uma tabela específica da instância atual

ots:GetRow

Lê dados de uma única linha com base em uma chave primária específica

ots:PutRow

Insira dados em uma linha específica

ots:UpdateRow

Atualize dados em uma linha específica

ots:DeleteRow

Exclua uma linha de dados

ots:GetRange

Lê dados dentro de um intervalo de valores da chave primária

ots:BatchWriteRow

Insira, modifique ou exclua várias linhas de dados de uma ou mais tabelas simultaneamente

ots:BatchGetRow

Lê várias linhas de dados de uma ou mais tabelas simultaneamente

ots:ComputeSplitPointsBySize

Divide logicamente os dados de uma tabela em vários shards com tamanhos próximos ao especificado e retorna os pontos de divisão entre os shards, além de indicar os hosts onde as partições residem

ots:StartLocalTransaction

Inicia uma transação local com base em um valor de chave de partição especificado e retorna o ID dessa transação

ots:CommitTransaction

Confirma uma transação local

ots:AbortTransaction

Cancela uma transação local

Permissões do Data Lake Formation (DLF)

Permissão (Action)

Descrição

dlf:BatchCreatePartitions

Crie várias partições simultaneamente

dlf:BatchCreateTables

Crie várias tabelas simultaneamente

dlf:BatchDeletePartitions

Exclua várias partições simultaneamente

dlf:BatchDeleteTables

Exclua várias tabelas simultaneamente

dlf:BatchGetPartitions

Consulta informações de várias partições simultaneamente

dlf:BatchGetTables

Consulta informações de várias tabelas simultaneamente

dlf:BatchUpdatePartitions

Atualize várias partições simultaneamente

dlf:BatchUpdateTables

Atualize várias tabelas simultaneamente

dlf:CreateDatabase

Crie um banco de dados

dlf:CreateFunction

Crie uma função

dlf:CreatePartition

Crie uma partição

dlf:CreateTable

Crie uma tabela

dlf:DeleteDatabase

Exclua um banco de dados

dlf:DeleteFunction

Exclua uma função

dlf:DeletePartition

Exclua uma partição

dlf:DeleteTable

Exclua uma tabela

dlf:GetDatabase

Consulta informações sobre um banco de dados

dlf:GetFunction

Consulta informações sobre uma função

dlf:GetPartition

Consulta informações sobre uma partição

dlf:GetTable

Consulta informações sobre uma tabela

dlf:ListCatalogs

Lista catálogos

dlf:ListDatabases

Lista bancos de dados

dlf:ListFunctionNames

Lista os nomes das funções

dlf:ListFunctions

Lista funções

dlf:ListPartitionNames

Lista os nomes das partições

dlf:ListPartitions

Lista partições

dlf:ListPartitionsByExpr

Consulta partições de tabelas de metadados por condições

dlf:ListPartitionsByFilter

Consulta partições de tabelas de metadados por filtros

dlf:ListTableNames

Lista os nomes das tabelas

dlf:ListTables

Lista tabelas

dlf:RenamePartition

Renomeia uma partição

dlf:RenameTable

Renomeia uma tabela

dlf:UpdateDatabase

Atualize um banco de dados

dlf:UpdateFunction

Atualize uma função

dlf:UpdateTable

Atualize uma tabela

dlf:UpdateTableColumnStatistics

Atualize as estatísticas de uma tabela de metadados

dlf:GetTableColumnStatistics

Consulta as estatísticas de uma tabela de metadados

dlf:DeleteTableColumnStatistics

Exclua as estatísticas de uma tabela de metadados

dlf:UpdatePartitionColumnStatistics

Atualize as estatísticas de uma partição

dlf:GetPartitionColumnStatistics

Consulta as estatísticas de uma partição

dlf:DeletePartitionColumnStatistics

Exclua as estatísticas de uma partição

dlf:BatchGetPartitionColumnStatistics

Consulta estatísticas de várias partições simultaneamente

dlf:CreateLock

Crie um bloqueio de metadados

dlf:UnLock

Desbloqueia um bloqueio de metadados específico

dlf:AbortLock

Cancela um bloqueio de metadados

dlf:RefreshLock

Atualize um bloqueio de metadados

dlf:GetLock

Consulta informações sobre um bloqueio de metadados

dlf:GetAsyncTaskStatus

Consulta o status de uma tarefa assíncrona

dlf:DeltaGetPermissions

Consulta permissões

dlf:GetPermissions

Consulta informações sobre permissões de dados

dlf:GetServiceInfo

Consulta informações sobre um serviço

dlf:GetRoles

Consulta informações sobre funções nas permissões de dados

dlf:CheckPermissions

Verifica permissões de dados

Uso do MetaService

Escolha a abordagem adequada à sua carga de trabalho:

Cenário

Abordagem

Benefício

Jobs executados no cluster (Hadoop, Hive, Spark)

Use caminhos simplificados do OSS

Acesse o OSS sem credenciais no caminho

Serviços autogerenciados ou aplicações personalizadas

Chame a API HTTP do MetaService

Obtenha credenciais temporárias STS para OSS, Log Service e MNS

Acessar o OSS a partir de jobs do cluster

Com o MetaService ativo, use o formato de caminho simplificado em qualquer job do cluster:

oss://<bucket-name>/<object-path>

O MetaService gerencia a autenticação automaticamente. Não é necessário incorporar credenciais no caminho. Isso também melhora a experiência de interação com recursos do OSS, pois o caminho a ser inserido torna-se significativamente mais curto.

Hadoop — listar objetos:

# Without MetaService (credentials embedded in path)
hadoop fs -ls oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c

# With MetaService (simplified path)
hadoop fs -ls oss://bucket/a/b/c

Hive — criar uma tabela externa baseada no OSS:

-- Without MetaService (credentials embedded in path)
CREATE EXTERNAL TABLE test_table(id INT, name string)
        ROW FORMAT DELIMITED
        FIELDS TERMINATED BY '/t'
        LOCATION 'oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c';

-- With MetaService (simplified path)
CREATE EXTERNAL TABLE test_table(id INT, name string)
        ROW FORMAT DELIMITED
        FIELDS TERMINATED BY '/t'
        LOCATION 'oss://bucket/a/b/c';

Spark — ler dados do OSS:

// Without MetaService (credentials embedded in path)
val data = sc.textFile("oss://ZaH******As1s:Ba23N**************sdaBj2@bucket.oss-cn-hangzhou-internal.aliyuncs.com/a/b/c")

// With MetaService (simplified path)
val data = sc.textFile("oss://bucket/a/b/c")

Obter credenciais STS de serviços autogerenciados

O MetaService expõe uma API HTTP em http://localhost:10011 em cada nó do cluster. Chame esses endpoints para recuperar a credencial temporária STS necessária para que sua aplicação acesse recursos da Alibaba Cloud sem par AccessKey.

Exemplo — obter a região do cluster:

curl http://localhost:10011/cluster-region

Endpoints disponíveis:

Endpoint

Retorno

/cluster-region

Região onde o cluster está localizado

/cluster-role-name

Nome da função

/role-access-key-id

AccessKey ID da credencial STS

/role-access-key-secret

AccessKey secret da credencial STS

/role-security-token

Token de segurança da credencial STS

/cluster-network-type

Tipo de rede

Observações de uso

Importante

Modifique ou exclua a função AliyunEmrEcsDefaultRole com cautela. A exclusão ou configuração incorreta dessa função causa falhas na criação de clusters e na execução de jobs. Para minimizar riscos de segurança, siga o princípio do menor privilégio ao configurar permissões no console do RAM.