Tous les produits
Search
Centre de documentation

Object Storage Service:Accéder à OSS-HDFS avec JindoSDK

Dernière mise à jour :Aug 18, 2026

OSS-HDFS est un service de stockage cloud natif dédié aux lacs de données. Il offre une gestion unifiée des métadonnées et assure une compatibilité totale avec l'API HDFS, tout en proposant une prise en charge complète de POSIX. Cette solution est idéale pour les charges de travail liées aux lacs de données dans les domaines du Big Data et de l'IA. Cette rubrique explique comment utiliser Hadoop pour accéder à OSS-HDFS via JindoSDK.

Prérequis

Vous avez activé OSS-HDFS pour un bucket et disposez des autorisations nécessaires pour y accéder. Pour plus d'informations, consultez la rubrique Activer OSS-HDFS.

Présentation

OSS-HDFS fonctionne avec les applications Hadoop et Spark existantes sans nécessiter de modification. Après une configuration de base, vous gérez vos données comme avec le système HDFS natif, tout en bénéficiant des avantages d'OSS : capacité pratiquement illimitée, élasticité de la mise à l'échelle, ainsi qu'une sécurité, une fiabilité et une disponibilité améliorées.

OSS-HDFS prend en charge des exaoctets de données et des milliards de fichiers avec un débit de l'ordre du téraoctet. Au-delà de l'espace de noms plat du stockage objet standard, il fournit un espace de noms hiérarchique qui organise les objets en répertoires, avec une conversion automatique de l'espace de noms grâce à une gestion unifiée des métadonnées. Au lieu de la redondance active-passive du NameNode traditionnelle dans HDFS, OSS-HDFS utilise une redondance active-active multi-nœuds pour une résilience supérieure. Les utilisateurs de Hadoop accèdent aux données aussi efficacement que sur un HDFS local, sans réplication ni conversion, ce qui améliore les performances des tâches et réduit les coûts de maintenance.

Pour plus d'informations sur les cas d'utilisation, les caractéristiques du service et les fonctionnalités d'OSS-HDFS, consultez la rubrique Qu'est-ce qu'OSS-HDFS ?

Étape 1 : Créer un VPC et ajouter une instance ECS

  1. Créez un VPC pour permettre l'accès à OSS-HDFS via le réseau interne.

    1. Connectez-vous à la console VPC.

    2. Sur la page VPC, cliquez sur Create VPC.

      Assurez-vous que le VPC se trouve dans la même région que le bucket pour lequel vous avez activé OSS-HDFS. Pour plus d'informations sur la création d'un VPC, consultez la rubrique Créer un VPC et un vSwitch.

  2. Ajoutez une instance ECS.

    1. Cliquez sur l'ID du VPC que vous avez créé, puis sélectionnez l'onglet Resource Management.

    2. Dans la section Cloud Resources, cliquez sur l'icône 序号 située à côté de ECS.

    3. Sur la page Instances, créez une instance ECS.

      Lors de la création de l'instance ECS, assurez-vous qu'elle se trouve dans la même région que le VPC que vous avez créé. Pour plus d'informations sur la création d'une instance ECS, consultez la rubrique Créer une instance.

Étape 2 : Configurer l'environnement d'exécution Hadoop

  1. Installez l'environnement Java.

    1. Pour l'instance ECS que vous avez créée, cliquez sur Connect dans la colonne Actions.

      Pour plus d'informations sur l'établissement d'une connexion à distance à une instance ECS, consultez la rubrique Méthodes de connexion.

    2. Vérifiez la version du kit de développement Java (JDK).

      java -version
    3. Facultatif :Désinstallez le JDK si sa version est antérieure à 1.8.0.

      rpm -qa | grep java | xargs rpm -e --nodeps
    4. Installez Java.

      sudo yum install java-1.8.0-openjdk* -y
    5. Exécutez la commande suivante pour ouvrir le fichier de configuration du profil.

      vim /etc/profile
    6. Ajoutez les variables d'environnement.

      Si vous recevez une erreur indiquant que le chemin n'existe pas, accédez au répertoire /usr/lib/jvm/ pour localiser le fichier java-1.8.0-openjdk.

      export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
      export PATH=$PATH:$JAVA_HOME/bin
    7. Appliquez les variables d'environnement.

      source /etc/profile
  2. Activez le service SSH.

    1. Installez le service SSH.

      sudo yum install -y openssh-clients openssh-server
    2. Activez et démarrez le service SSH.

      systemctl enable sshd && systemctl start sshd
    3. Générez une clé SSH et ajoutez-la à la liste des clés autorisées.

      ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
      chmod 0600 ~/.ssh/authorized_keys
  3. Installez Hadoop.

    1. Téléchargez le package d'installation de Hadoop.

      Cet exemple utilise Hadoop 3.4.0. Si vous utilisez une version différente, remplacez le nom du package en conséquence. Pour trouver les packages d'installation de Hadoop, consultez la page Releases Apache Hadoop.

      wget https://downloads.apache.org/hadoop/common/hadoop-3.4.0/hadoop-3.4.0.tar.gz
    2. Extrayez le package d'installation.

      tar xzf hadoop-3.4.0.tar.gz
    3. Déplacez le package vers un emplacement commun.

      mv hadoop-3.4.0 /usr/local/hadoop
    4. Configurez les variables d'environnement.

      1. Configurez les variables d'environnement Hadoop.

        vim /etc/profile
        export HADOOP_HOME=/usr/local/hadoop
        export PATH=$HADOOP_HOME/bin:$PATH
        source /etc/profile
      2. Mettez à jour HADOOP_HOME dans le fichier de configuration Hadoop.

        cd $HADOOP_HOME
        vim etc/hadoop/hadoop-env.sh
      3. Remplacez ${JAVA_HOME} par le chemin réel.

        export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
    5. Facultatif :Si le répertoire n'existe pas, exécutez la commande suivante pour appliquer les nouvelles variables d'environnement.

      cd $HADOOP_HOME/etc/hadoop
    6. Mettez à jour les fichiers de configuration core-site.xml et hdfs-site.xml.

      • Mettez à jour le fichier core-site.xml avec les propriétés suivantes.

        <configuration>
          <!-- Specify the address of the NameNode in HDFS. -->
          <property>
              <name>fs.defaultFS</name>
              <!-- Replace the value with your hostname or localhost. -->
              <value>hdfs://localhost:9000</value>
          </property>
        
          <!-- Change the temporary directory of Hadoop to a custom directory. -->
          <property>
              <name>hadoop.tmp.dir</name>
              <!-- As the admin user, grant permissions to the directory by running sudo chown -R admin:admin /opt/module/hadoop-3.4.0 -->
              <value>/opt/module/hadoop-3.4.0/data/tmp</value>
          </property>
        </configuration>
      • Mettez à jour le fichier hdfs-site.xml avec la propriété suivante.

        <configuration>
          <!-- Specify the number of HDFS replicas. -->
          <property>
              <name>dfs.replication</name>
              <value>1</value>
          </property>
        </configuration>
    7. Formatez le NameNode.

      hdfs namenode -format
    8. Démarrez HDFS.

      Le démarrage de HDFS implique le lancement du NameNode, du DataNode et du Secondary NameNode.

      1. Démarrez les processus daemon HDFS :

        cd /usr/local/hadoop/
        sbin/start-dfs.sh
      2. Vérifiez les processus Java en cours d'exécution.

        jps

        Le résultat suivant s'affiche :

        hdfs

        Les processus daemon HDFS sont désormais en cours d'exécution. Vous pouvez accéder à l'interface web HDFS à l'adresse http://{ip}:9870 pour afficher les informations détaillées.

  4. Vérifiez l'installation de Hadoop.

    Exécutez la commande hadoop version. Si les informations de version s'affichent, l'installation a réussi.

Étape 3 : Configurer JindoSDK pour accéder à OSS-HDFS

  1. Téléchargez le package JAR JindoSDK.

    1. Accédez au répertoire cible.

      cd /usr/lib/
    2. Téléchargez la dernière version du package JAR JindoSDK. Pour obtenir les liens de téléchargement, consultez GitHub.

    3. Extrayez le package JAR JindoSDK.

      tar zxvf jindosdk-x.x.x-linux.tar.gz
      Remarque
  2. Configurez les variables d'environnement.

    1. Modifiez le fichier de configuration du profil.

      vim /etc/profile
    2. Définissez la variable d'environnement JINDOSDK_HOME.

      export JINDOSDK_HOME=/usr/lib/jindosdk-x.x.x-linux
    3. Configurez HADOOP_CLASSPATH.

      export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${JINDOSDK_HOME}/lib/*
    4. Exécutez la commande suivante pour appliquer la nouvelle configuration.

      . /etc/profile
  3. Configurez la classe d'implémentation JindoSDK et l'AccessKey.

    1. Ajoutez la classe d'implémentation JindoSDK au fichier core-site.xml de Hadoop.

      <configuration>
          <property>
              <name>fs.AbstractFileSystem.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOSS</value>
          </property>
      
          <property>
              <name>fs.oss.impl</name>
              <value>com.aliyun.jindodata.oss.JindoOssFileSystem</value>
          </property>
      </configuration>
    2. Ajoutez l'AccessKey ID et l'AccessKey Secret de votre bucket activé pour OSS-HDFS au fichier core-site.xml.

      <configuration>
          <property>
              <name>fs.oss.accessKeyId</name>
              <value>xxx</value>
          </property>
      
          <property>
              <name>fs.oss.accessKeySecret</name>
              <value>xxx</value>
          </property>
      </configuration>
  4. Configurez l'endpoint OSS-HDFS.

    Vous devez configurer un endpoint pour accéder à OSS-HDFS. Le format URI recommandé est oss://<Bucket>.<Endpoint>/<Object>, par exemple oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/exampleobject.txt. Après la configuration, JindoSDK utilise l'endpoint présent dans le chemin d'accès pour appeler l'API OSS-HDFS appropriée.

    Vous pouvez également configurer l'endpoint OSS-HDFS par d'autres méthodes. Pour plus d'informations, consultez la rubrique Autres méthodes de configuration d'un endpoint.

Étape 4 : Accéder à OSS-HDFS

  • Créer un répertoire

    hdfs dfs -mkdir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • Téléverser un objet

    hdfs dfs -put /root/workspace/examplefile.txt oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • Afficher les informations du répertoire

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/
  • Afficher les informations de l'objet

    hdfs dfs -ls oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • Afficher le contenu de l'objet

    Important

    Cette commande affiche le contenu de l'objet sous forme de texte brut. Si le contenu est encodé, utilisez l'API Java HDFS pour lire l'objet, puis décodez-le.

    hdfs dfs -cat oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/examplefile.txt
  • Copier un répertoire ou un objet

    hdfs dfs -cp oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir1/  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/subdir2/subdir1/
  • Déplacer un répertoire ou un objet

    hdfs dfs -mv oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/srcdir/  oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destdir/
  • Télécharger un objet

    hdfs dfs -get oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/exampleobject.txt  /tmp/
  • Supprimer un répertoire ou un objet

    hdfs dfs -rm oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/destfolder/