Résolvez les problèmes courants liés aux paires de clés d'accès lorsque vous accédez à OSS ou à OSS-HDFS depuis un cluster EMR.
Activer l'accès sans mot de passe à OSS ou à OSS-HDFS
JindoSDK utilise le rôle RAM associé aux instances ECS du cluster pour obtenir un jeton de sécurité permettant d'accéder à OSS ou à OSS-HDFS. Le rôle par défaut est AliyunECSInstanceForEMRRole.
Sur la page de configuration du service Hadoop-Common, accédez à l'onglet core-site.xml. Vérifiez que la valeur du paramètre fs.oss.credentials.provider est définie sur com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider. Si ce n'est pas le cas, définissez ce paramètre sur cette valeur et cliquez sur Save. Cette opération active l'accès sans mot de passe à OSS ou à OSS-HDFS.
Vérifier la disponibilité de l'accès sans mot de passe
-
Méthode 1 : Exécutez la commande suivante pour récupérer les informations d'identification du rôle RAM.
curl http://100.100.100.200/latest/meta-data/Ram/Security-credentials/AliyunECSInstanceForEMRRoleSi la commande renvoie un résultat au format suivant, l'accès sans mot de passe est disponible.
{ "AccessKeyId" : "STS.NUreXXXXXX", "AccessKeySecret" : "BsmbnDoXXXXXXXX", "Expiration" : "2022-11-22T11:27:39Z", "SecurityToken" : "CAISlwJ1q6FXXXXXXX", "LastUpdated" : "2022-11-22T05:27:39Z", "Code" : "Success" } -
Méthode 2 : Configurez et testez l'accès sans mot de passe.
Sur la page de configuration du service Hadoop-Common, accédez à l'onglet core-site.xml. Vérifiez que la valeur du paramètre fs.oss.credentials.provider est définie sur com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider. Si ce n'est pas le cas, définissez ce paramètre sur cette valeur et cliquez sur Save.
Utilisez le shell HDFS pour accéder à OSS ou à OSS-HDFS. Un accès réussi confirme la disponibilité de l'accès sans mot de passe.
Échecs d'accès périodiques depuis HiveServer2 ou Presto
Certaines versions de JindoSDK présentent un bug connu qui provoque des échecs périodiques de l'accès sans mot de passe. Pour plus de détails, consultez la section Problèmes connus dans JindoData.
-
Méthode 1 : Utilisez une paire de clés d'accès statique.
Configurez votre système pour utiliser SimpleCredentialsProvider. Pour plus d'informations, consultez la section Configurer un fournisseur d'identifiants OSS/OSS-HDFS.
Méthode 2 : Mettez à niveau JindoSDK vers la dernière version. Pour plus d'informations, consultez la section Mettre à niveau et restaurer JindoSDK sur un cluster EMR (x86).
Erreur : Paire de clés d'accès dans le chemin d'accès
-
Message d'erreur :
The Filesystem URI contains login details. This authentication mechanism is no longer supported. -
Cause :
Afin de prévenir la fuite d'identifiants, JindoSDK 4.0.0 et les versions ultérieures n'autorisent pas l'inclusion de paires de clés d'accès (AccessKey ID et AccessKey Secret) dans le chemin d'accès.
-
Solutions :
Méthode 1 : Supprimez la paire de clés d'accès du chemin d'accès.
-
Méthode 2 : Si vous devez inclure la paire de clés d'accès dans le chemin, accédez à la page de configuration du service Hadoop-Common, cliquez sur l'onglet core-site.xml, puis cliquez sur Add Configuration Item. Ajoutez la configuration suivante :
Parameter
Value
fs.oss.uri-with-secrets.enable
true
Après avoir ajouté la configuration, cliquez sur Save.