JindoFuse monte un chemin OSS ou OSS-HDFS en tant que système de fichiers local. Vous pouvez ainsi lire et écrire dans le stockage cloud à l'aide de commandes POSIX standard telles que ls, mkdir, cat et rm.
Prérequis
Avant de commencer, assurez-vous d'avoir :
-
Dans un cluster EMR : JindoSDK est préinstallé. Aucune configuration supplémentaire n'est nécessaire.
Pour accéder à OSS-HDFS, utilisez un cluster exécutant EMR V3.42.0 ou version ultérieure, ou EMR V5.8.0 ou version ultérieure.
-
En dehors d'un cluster EMR : installez d'abord JindoSDK. Consultez la rubrique Déployer JindoSDK dans un environnement autre qu'EMR.
Pour accéder à OSS-HDFS, installez JindoSDK V4.X ou version ultérieure.
Installer les dépendances
Les dépendances sont préinstallées dans les environnements suivants :
Clusters EMR exécutant V3.44.0 ou version ultérieure, ou V5.10.0 ou version ultérieure ;
Environnements disposant de JindoSDK V4.6.2 ou version ultérieure.
Si votre environnement ne répond pas aux critères ci-dessus, installez manuellement les dépendances requises selon votre version de JindoSDK.
JindoSDK 4.5.0 ou antérieur
# CentOS
sudo yum install -y fuse3 fuse3-devel
# Debian
sudo apt install -y fuse3 libfuse3-dev
JindoSDK 4.5.1 ou ultérieur
Installez libfuse 3.7 ou version ultérieure. L'exemple suivant compile et installe fuse-3.11.0.
# Build fuse requires meson and ninja. On Debian: apt install -y pkg-config meson ninja-build
sudo yum install -y meson ninja-build
# Compile fuse requires a newer g++ (CentOS only)
sudo yum install -y scl-utils
sudo yum install -y alinux-release-experimentals
sudo yum install -y devtoolset-8-gcc devtoolset-8-gdb devtoolset-8-binutils devtoolset-8-make devtoolset-8-gcc-c++
sudo su -c "echo 'source /opt/rh/devtoolset-8/enable' > /etc/profile.d/g++.sh"
source /opt/rh/devtoolset-8/enable
sudo ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/local/bin/gcc
sudo ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/local/bin/g++
# Compile and install libfuse
wget https://github.com/libfuse/libfuse/releases/download/fuse-3.11.0/fuse-3.11.0.tar.xz
xz -d fuse-3.11.0.tar.xz
tar xf fuse-3.11.0.tar
cd fuse-3.11.0/
mkdir build; cd build
meson ..
sudo ninja install
Monter JindoFuse
-
Créez un point de montage :
sudo mkdir -p <mountpoint>Remplacez
<mountpoint>par le chemin du répertoire local où vous souhaitez monter le stockage. -
Montez JindoFuse :
jindo-fuse <mount_point> -ouri=[<osspath>]Remplacez
<osspath>par le chemin OSS ou OSS-HDFS à mapper — soit une racine de bucket, soit un sous-répertoire. Par exemple :oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/subdir/. Une fois la commande exécutée, un processus démon démarre en arrière-plan et monte le chemin spécifié sur le système de fichiers local.RemarqueOSS et OSS-HDFS utilisent la même commande de montage. Seul l'endpoint dans le chemin diffère. Pour plus de détails sur le format du chemin, consultez la section Description du chemin.
-
Vérifiez le montage :
ps -ef | grep jindo-fuseSi le processus
jindo-fuseapparaît et que les paramètres de démarrage correspondent à ceux spécifiés, le montage a réussi.
Accéder aux fichiers avec des commandes POSIX
Une fois JindoFuse monté sur /mnt/oss/, utilisez des commandes shell standard pour gérer vos données :
# List all contents
ls /mnt/oss/
# Create a directory
mkdir /mnt/oss/dir1
# Write data to a file
echo "hello world" > /mnt/oss/dir1/hello.txt
# Read data from a file
cat /mnt/oss/dir1/hello.txt
# Output: hello world
# Delete a directory
rm -rf /mnt/oss/dir1/
Pour obtenir la liste complète des opérations prises en charge et des limitations connues, consultez le guide d'utilisation de JindoFuse.
Démonter JindoFuse
Démonter manuellement
umount <mount_point>
Démonter automatiquement à la fin du processus
Ajoutez l'indicateur -oauto_unmount lors du montage. Avec cette option, l'exécution de killall -9 jindo-fuse envoie un signal SIGINT au processus et démonte automatiquement le point de montage avant l'arrêt du processus.
Pour connaître les options de configuration avancées, consultez le guide d'utilisation de JindoFuse.