Je souhaite monter un répertoire d'espace de travail ou résoudre l'erreur « Unable to mount the workspace » dans Amazon EMR.
Résolution
Monter un répertoire d'espace de travail
Pour monter un répertoire d'espace de travail sur un cluster, utilisez la commande magique %mount_workspace_dir dans Amazon EMR. Lorsque vous utilisez cette commande, vous pouvez importer et exécuter du code à partir d'autres fichiers de l'espace de travail lorsque vous montez votre répertoire d’espace de travail.
Résoudre l'erreur « Unable to mount the workspace »
Les erreurs suivantes peuvent s'afficher lorsque vous utilisez la commande magique %mount_workspace_dir pour monter un espace de travail :
« UsageError: Unable to mount the Workspace. stdout= stderr=fuse: unknown option compat_dir »
« UsageError: S3-fuse is not installed »
Pour résoudre les erreurs précédentes, appliquez l'une des méthodes suivantes :
Install s3fs-fuse
Si vous utilisez les versions 5.3.x ou 6.x d’Amazon EMR, procédez comme suit :
- Configurez le cluster Amazon EMR, l'espace de travail et Spark Magic avec vos applications Spark, Livy et Jupyter Enterprise Gateway. Pour plus d'informations, consultez la section Améliorer les noyaux à l'aide de commandes magiques.
- Utilisez SSH pour vous connecter au nœud du cluster Amazon EMR.
- Installez s3fs-fuse :
sudo amazon-linux-extras install epel -y
sudo yum install s3fs-fuse -y
Si vous utilisez les versions 7.x d'Amazon EMR, procédez comme suit :
-
Pour installer s3fs-fuse, consultez la page s3fs-fuse sur le site Web GitHub. Vous pouvez également exécuter la commande suivante :
sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel -y
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh
./configure --prefix=/usr --with-openssl
make
sudo make install
-
Installez emr-notebooks-magics :
Remarque : Avant d'installer Amazon EMR Notebooks Magic, consultez la section Améliorer les noyaux à l'aide de commandes magiques.
%pip install emr-notebooks-magics --upgrade
-
Montez le répertoire d'espace de travail dans le bloc-notes :
%mount_workspace_dir.
Remarque : Pour les versions 6.0 à 6.9.0 et 5.0 à 5.36.0 d'Amazon EMR, seuls les packages emr-notebooks-magics versions 0.2.0 et ultérieures prennent en charge la commande magique %mount_workspace_dir.
-
Vérifiez que votre répertoire d’espace de travail a été correctement monté :
%%sh
ls
Installer le package s3fs
Pour installer le package s3fs, exécutez la commande suivante :
wget https://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/s/s3fs-fuse-1.93-1.el8.aarch64.rpm -P /home/hadoop/;sudo yum localinstall /home/hadoop/s3fs-fuse-1.93-1.el8.aarch64.rpm -y;rm /home/hadoop/s3fs-fuse-1.93-1.el8.aarch64.rpm
Vous obtenez le résultat suivant :
--2024-05-12 15:49:13-- https://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/s/s3fs-fuse-1.93-1.el8.aarch64.rpm
Resolving rpmfind.net (rpmfind.net)... 195.220.108.108
Connecting to rpmfind.net (rpmfind.net)|195.220.108.108|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 292036 (285K) [application/x-rpm]
Saving to: "/home/hadoop/s3fs-fuse-1.93-1.el8.aarch64.rpm"
La commande précédente télécharge la version du package s3fs-fuse depuis le référentiel EPEL, installe la version téléchargée, puis nettoie le fichier téléchargé. Pour plus d'informations, consultez la page Ressource RPM s3fs-fuse(aarch-64) sur le site Web de RPM find. Consultez également la page Comment puis-je installer mes fichiers rpm locaux à l'aide de yum ? sur le site Web de Red Hat.
Remarque : Si vous rencontrez toujours des problèmes après avoir effectué les étapes précédentes, remplacez votre type d'instance par une instance construite sur une architecture x86_64. Vous pouvez également installer une version plus récente du package s3fs-fuse.