Resolva problemas comuns relacionados ao par de AccessKey ao acessar o OSS ou o OSS-HDFS em um cluster EMR.
Ativar acesso sem senha ao OSS ou OSS-HDFS
O JindoSDK usa a função RAM associada às instâncias ECS do cluster para obter um token de segurança e acessar o OSS ou o OSS-HDFS. A função padrão é AliyunECSInstanceForEMRRole.
Na página de configuração do service Hadoop-Common, acesse a aba core-site.xml. Verifique se o valor do parâmetro fs.oss.credentials.provider é com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider. Caso contrário, defina o parâmetro com esse valor e clique em Save. Essa configuração ativa o acesso sem senha ao OSS ou ao OSS-HDFS.
Verificar o acesso sem senha
-
Método 1: Execute o comando a seguir para recuperar as credenciais da função RAM.
curl http://100.100.100.200/latest/meta-data/Ram/Security-credentials/AliyunECSInstanceForEMRRoleSe o comando retornar um resultado no formato a seguir, o acesso sem senha estará disponível.
{ "AccessKeyId" : "STS.NUreXXXXXX", "AccessKeySecret" : "BsmbnDoXXXXXXXX", "Expiration" : "2022-11-22T11:27:39Z", "SecurityToken" : "CAISlwJ1q6FXXXXXXX", "LastUpdated" : "2022-11-22T05:27:39Z", "Code" : "Success" } -
Método 2: Configure e teste o acesso sem senha.
Na página de configuração do service Hadoop-Common, acesse a aba core-site.xml. Verifique se o valor do parâmetro fs.oss.credentials.provider é com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider. Se não estiver, defina o parâmetro com esse valor e clique em Save.
Use o shell do HDFS para acessar o OSS ou o OSS-HDFS. O acesso bem-sucedido confirma que o acesso sem senha está funcionando.
Falhas periódicas de acesso no HiveServer2 ou Presto
Algumas versões do JindoSDK apresentam um bug conhecido que causa falhas intermitentes no acesso sem senha. Para mais detalhes, consulte Known issues in JindoData.
-
Método 1: Use um par de AccessKey estático.
Configure o sistema para usar SimpleCredentialsProvider. Para mais informações, consulte Configure an OSS/OSS-HDFS Credential Provider.
Método 2: Atualize o JindoSDK para a versão mais recente. Para mais informações, consulte Upgrade and roll back JindoSDK on an EMR cluster (x86).
Erro: Par de AccessKey no caminho de acesso
-
Mensagem de erro:
The Filesystem URI contains login details. This authentication mechanism is no longer supported. -
Causa:
Para evitar vazamento de credenciais, o JindoSDK 4.0.0 e versões posteriores não permitem pares de AccessKey (AccessKey ID e AccessKey Secret) no caminho de acesso.
-
Soluções:
Método 1: Remova o par de AccessKey do caminho de acesso.
-
Método 2: Caso seja obrigatório incluir o par de AccessKey no caminho, acesse a página de configuração do service Hadoop-Common, clique na aba core-site.xml e, em seguida, clique em Add Configuration Item. Adicione a seguinte configuração:
Parameter
Value
fs.oss.uri-with-secrets.ativado
true
Após adicionar a configuração, clique em Save.