Cette rubrique de FAQ traite des problèmes courants et des tâches de configuration liés à Alluxio sur E-MapReduce (EMR).
Pourquoi l'erreur « No FileSystem for scheme: alluxio » s'affiche-t-elle ?
Comment accélérer l'accès aux données OSS grâce au cache d'Alluxio ?
Pourquoi l'erreur « No FileSystem for scheme: alluxio » s'affiche-t-elle ?
Cette erreur survient lorsque vous ajoutez Alluxio à un cluster EMR existant sans redémarrer le service par la suite. Vous devez redémarrer Alluxio pour charger les configurations Hadoop.
Après avoir ajouté Alluxio, redémarrez le service. Pour plus d'informations, consultez la section Redémarrer un service.
Cette erreur ne se produit pas si vous sélectionnez Alluxio parmi les services optionnels lors de la création du cluster.
Pourquoi Alluxio ne fonctionne-t-il pas comme prévu ?
Identifiez d'abord le nœud concerné, puis examinez le journal du service Alluxio sur ce nœud. Dans la plupart des cas, le journal se trouve dans le répertoire /mnt/disk1/log/alluxio/.
Comment accélérer l'accès aux données OSS grâce au cache d'Alluxio ?
Par défaut, HDFS sert de système de fichiers sous-jacent (UFS) pour Alluxio sur EMR. Pour mettre en cache les données OSS, montez un répertoire OSS en tant que point de montage :
alluxio fs mount --option fs.oss.accessKeyId=<OSS_ACCESS_KEY_ID> \
--option fs.oss.accessKeySecret=<OSS_ACCESS_KEY_SECRET> \
--option fs.oss.endpoint=<OSS_ENDPOINT> \
/oss_dir <path>/
| Espace réservé | Description |
|---|---|
<OSS_ACCESS_KEY_ID> |
ID AccessKey de votre compte Alibaba Cloud. Obtenez-le depuis la console de gestion des AccessKey. |
<OSS_ACCESS_KEY_SECRET> |
Clé secrète AccessKey de votre compte Alibaba Cloud. |
<OSS_ENDPOINT> |
Endpoint OSS au format oss-<region>-internal.aliyuncs.com. Retrouvez-le dans la console OSS, dans les détails du bucket. Utilisez l'endpoint interne (par exemple, oss-cn-shanghai-internal.aliyuncs.com). Le cluster EMR doit se trouver dans la même région que le bucket OSS. |
<path> |
Chemin OSS au format oss://<bucket-name>/<directory>. |
Comment modifier les paramètres Alluxio ?
Deux approches sont possibles : une configuration globale via la console EMR ou une configuration dynamique à l'exécution.
Configuration globale
Accédez à la page du service Alluxio dans la console EMR et modifiez les paramètres directement. Les modifications nécessitent un redémarrage du service pour prendre effet. Pour plus de détails, consultez la section Gérer les paramètres des services.
Configuration dynamique
Transmettez les paramètres à l'exécution en utilisant le format -Dproperty=value. Les exemples suivants définissent tous le type d'écriture sur CACHE_THROUGH.
Shell Alluxio
Ajoutez les indicateurs -Dproperty=value directement à la commande :
alluxio fs copyFromLocal hello.txt /dir/tmp -Dalluxio.user.file.writetype.default=CACHE_THROUGH
hello.txt représente un fichier local et /dir/tmp le répertoire de destination dans Alluxio. Pour découvrir d'autres commandes disponibles, consultez la section Commandes courantes.
Tâches Spark
Ajoutez l'indicateur -Dproperty=value aux options spark.driver.extraJavaOptions et spark.executor.extraJavaOptions :
spark-submit \
--conf 'spark.driver.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH' \
--conf 'spark.executor.extraJavaOptions=-Dalluxio.user.file.writetype.default=CACHE_THROUGH'
Tâches MapReduce
Ajoutez l'indicateur -Dproperty=value à la commande hadoop jar ou yarn jar :
hadoop jar <HADOOP_HOME>/share/hadoop/mapreduce/hadoop-mapreduce-examples-x.x.x.jar wordcount \
-Dalluxio.user.file.writetype.default=CACHE_THROUGH \
-libjars /<PATH_TO_ALLUXIO>/client/alluxio-x.x.x.-client.jar \
<path1> <path2>
<path1> correspond au chemin d'entrée et <path2> au chemin de sortie. x.x.x indique la version du package JAR.