Resuelva los problemas comunes relacionados con el par de AccessKey cuando accede a OSS u OSS-HDFS from un clúster de EMR.
Habilite el acceso sin contraseña a OSS u OSS-HDFS
JindoSDK utiliza el rol de RAM asociado a las instancias ECS del clúster para obtener un token de seguridad que permite acceder a OSS u OSS-HDFS. El rol predeterminado es AliyunECSInstanceForEMRRole.
En la página de configuración del servicio Hadoop-Common, vaya a la pestaña core-site.xml. Compruebe que el valor del parámetro fs.oss.credentials.provider sea com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider. Si no lo es, establezca el parámetro con este valor y haga clic en Save. Esto habilita el acceso sin contraseña a OSS u OSS-HDFS.
Compruebe el acceso sin contraseña
-
Método 1: Ejecute el siguiente comando para obtener las credenciales del rol de RAM.
curl http://100.100.100.200/latest/meta-data/Ram/Security-credentials/AliyunECSInstanceForEMRRoleSi el comando devuelve un resultado con el siguiente formato, el acceso sin contraseña está disponible.
{ "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 y pruebe el acceso sin contraseña.
En la página de configuración del servicio Hadoop-Common, vaya a la pestaña core-site.xml. Compruebe que el valor del parámetro fs.oss.credentials.provider sea com.aliyun.jindodata.oss.auth.EcsStsCredentialsProvider. Si no lo es, establezca el parámetro con este valor y haga clic en Save.
Utilice el shell de HDFS para acceder a OSS u OSS-HDFS. Si el acceso se realiza correctamente, se confirma que el acceso sin contraseña está disponible.
Fallos periódicos de acceso desde HiveServer2 o Presto
Ciertas versiones de JindoSDK presentan un bug conocido que provoca fallos periódicos en el acceso sin contraseña. Para más detalles, consulte Known issues in JindoData.
-
Método 1: Utilice un par de AccessKey estático.
Configure su sistema para usar SimpleCredentialsProvider. Para más información, consulte Configure an OSS/OSS-HDFS Credential Provider.
Método 2: Actualice JindoSDK a la versión más reciente. Para más información, consulte Upgrade and roll back JindoSDK on an EMR cluster (x86).
Error: Par de AccessKey en la ruta de acceso
-
Mensaje de error:
The Filesystem URI contains login details. This authentication mechanism is no longer supported. -
Causa:
Para evitar la filtración de credenciales, JindoSDK 4.0.0 y versiones posteriores no permiten incluir pares de AccessKey (AccessKey ID y AccessKey Secret) en la ruta de acceso.
-
Soluciones:
Método 1: Elimine el par de AccessKey de la ruta de acceso.
-
Método 2: Si necesita incluir el par de AccessKey en la ruta, vaya a la página de configuración del servicio Hadoop-Common, haga clic en la pestaña core-site.xml y luego haga clic en Add Configuration Item. Agregue la siguiente configuración:
Parámetro
Valor
fs.oss.uri-with-secrets.enable
true
Después de agregar la configuración, haga clic en Save.