Tous les produits
Search
Centre de documentation

E-MapReduce:Common HDFS commands

Dernière mise à jour :Aug 09, 2026

Dans un cluster E-MapReduce (EMR), exécutez les commandes hadoop fs pour effectuer des opérations sur le système de fichiers distribués Hadoop (HDFS).

Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Accès au cluster : Connectez-vous à un nœud du cluster (généralement le nœud maître) via Secure Shell (SSH)

  • Autorisations utilisateur : Un compte disposant des autorisations de lecture et d'écriture pour le chemin HDFS de destination, tel que l'utilisateur par défaut hadoop. Pour les clusters avec authentification Kerberos activée, effectuez d'abord l'authentification d'identité

Versions de commande

Hadoop propose deux formats de commande équivalents pour les opérations sur le système de fichiers :

  • hdfs dfs <args> : Spécifique à HDFS.

  • hadoop fs <args> : Une commande générique pour les systèmes de fichiers qui fonctionne avec HDFS et d'autres systèmes compatibles avec Hadoop, y compris le système de fichiers local (file:///).

Tous les exemples de cette rubrique utilisent hadoop fs.

Aide-mémoire des commandes

Le tableau suivant répertorie les commandes HDFS les plus courantes.

Commande

Description

Syntaxe

mkdir

Crée un répertoire dans HDFS.

hadoop fs -mkdir [-p] <paths>

touchz

Crée un fichier vide (0 octet) dans HDFS.

hadoop fs -touchz URI [URI ...]

ls

Répertorie les fichiers et répertoires d'un chemin avec leurs métadonnées.

hadoop fs -ls [-h] [-R] [-t] <args>

put

Télécharge des fichiers du système de fichiers local vers HDFS.

hadoop fs -put [-f] [-p] <localsrc> <dst>

get

Télécharge des fichiers ou répertoires de HDFS vers le système de fichiers local.

hadoop fs -get [-f] [-p] <src> <localdst>

cp

Copie des fichiers ou répertoires au sein de HDFS.

hadoop fs -cp [-f] URI [URI ...] <dest>

mv

Déplace ou renomme des fichiers ou répertoires au sein de HDFS.

hadoop fs -mv URI [URI ...] <dest>

rm

Supprime des fichiers ou répertoires dans HDFS.

hadoop fs -rm [-f] [-r] [-skipTrash] URI [URI ...]

cat

Affiche le contenu d'un fichier HDFS sur stdout.

hadoop fs -cat URI [URI ...]

du

Affiche la taille d'un fichier ou la taille totale des fichiers d'un répertoire.

hadoop fs -du [-s] [-h] URI [URI ...]

Pour obtenir la référence complète des commandes, consultez la documentation Apache Hadoop FileSystem Shell.

Gestion des répertoires et des fichiers

mkdir : Créer un répertoire

Crée un répertoire dans HDFS.

Syntaxe

hadoop fs -mkdir [-p] <paths>

Options

Option Description
-p Crée les répertoires parents du chemin s'ils n'existent pas, à l'instar de mkdir -p sous Linux. Utilisez cette option en production pour éviter les erreurs lorsqu'un répertoire parent est manquant.

Exemple

Créez le répertoire /dir :

hadoop fs -mkdir /dir

touchz : Créer un fichier vide

Crée un fichier vide (0 octet) dans HDFS. Utilisations courantes :

  • En tant que fichier marqueur pour signaler qu'une tâche est terminée

  • Pour créer un fichier de sortie vide avant le traitement des données

Syntaxe

hadoop fs -touchz URI [URI ...]

Exemple

Créez emptyfile.txt dans /dir/ :

hadoop fs -touchz /dir/emptyfile.txt

ls : Répertorier les fichiers et répertoires

Répertorie les fichiers et répertoires d'un chemin, ainsi que les autorisations, le facteur de réplication, le propriétaire, le groupe, la taille et l'heure de modification.

Syntaxe

hadoop fs -ls [-h] [-R] [-t] <args>

Options

Option Description
-h Affiche les tailles de fichier dans un format lisible (par exemple, 1K, 234M, 2G).
-R Répertorie récursivement le contenu de tous les sous-répertoires.
-t Trie la sortie par heure de modification, les plus récents en premier.

Exemple

Répertoriez le contenu de /dir :

hadoop fs -ls /dir

Transfert de fichiers

put : Télécharger des fichiers vers HDFS

Copie un ou plusieurs fichiers depuis le système de fichiers local (sur le nœud EMR où la commande est exécutée) vers HDFS.

Syntaxe

hadoop fs -put [-f] [-p] <localsrc> <dst>

Options

Option Description
-f Écrase le fichier de destination s'il existe déjà.
-p Conserve l'heure d'accès, l'heure de modification, la propriété et les autorisations du fichier.

Exemple

Téléchargez hello.txt vers /dir/sub-dir dans HDFS :

hadoop fs -put hello.txt /dir/sub-dir

get : Télécharger des fichiers depuis HDFS

Copie des fichiers ou répertoires depuis HDFS vers le système de fichiers local (sur le nœud EMR où la commande est exécutée).

Syntaxe

hadoop fs -get [-f] [-p] <src> <localdst>

Options

Option Description
-f Écrase le fichier de destination s'il existe déjà.
-p Conserve l'heure d'accès, l'heure de modification, la propriété et les autorisations du fichier.

Exemple

Téléchargez /dir/emptyfile.txt depuis HDFS vers le chemin local / :

hadoop fs -get /dir/emptyfile.txt /

Opérations sur les fichiers

cp : Copier des fichiers ou répertoires

Copie des fichiers ou répertoires au sein de HDFS.

Syntaxe

hadoop fs -cp [-f] URI [URI ...] <dest>

Options

Option Description
-f Écrase le fichier de destination s'il existe déjà.

Exemple

Copiez hello_world.txt depuis /dir/sub-dir/ vers /tmp :

hadoop fs -cp /dir/sub-dir/hello_world.txt /tmp

mv : Déplacer ou renommer des fichiers ou répertoires

Déplace ou renomme des fichiers ou répertoires au sein de HDFS. Il s'agit d'une opération atomique : lors d'un déplacement au sein du même système de fichiers, seules les métadonnées sont mises à jour, et non les blocs de données sous-jacents, ce qui permet une exécution rapide de l'opération.

Syntaxe

hadoop fs -mv URI [URI ...] <dest>

Exemples

Déplacez hello_world2.txt depuis /tmp/ vers /dir/sub-dir/ :

hadoop fs -mv /tmp/hello_world2.txt /dir/sub-dir/

Déplacez le répertoire test depuis /tmp/ vers /dir/sub-dir/ :

hadoop fs -mv /tmp/test /dir/sub-dir/

rm : Supprimer des fichiers ou répertoires

Supprime des fichiers ou répertoires dans HDFS. Par défaut, les éléments supprimés sont déplacés vers la corbeille de l'utilisateur actuel située dans /user/<username>/.Trash/.

Syntaxe

hadoop fs -rm [-f] [-r] [-skipTrash] URI [URI ...]

Options

Option Description
-r Supprime récursivement un répertoire et tout son contenu. Obligatoire lors de la suppression d'un répertoire.
-f Supprime les messages d'erreur si le fichier ou répertoire spécifié n'existe pas.
-skipTrash Supprime définitivement le fichier ou répertoire, en contournant la corbeille. À utiliser avec prudence — cette action est irréversible.

La commande hadoop fs -rmr est obsolète. Utilisez hadoop fs -rm -r pour supprimer des répertoires de manière récursive.

Exemple

Supprimez hello_world2.txt depuis /dir/sub-dir/ :

hadoop fs -rm /dir/sub-dir/hello_world2.txt

Affichage des fichiers

cat : Afficher le contenu d'un fichier

Affiche le contenu d'un fichier HDFS sur stdout. Passez plusieurs URI pour les concaténer.

Syntaxe

hadoop fs -cat URI [URI ...]

Exemples

Affichez le contenu de /hello.txt :

hadoop fs -cat /hello.txt

Affichez le contenu de /dir/sub-dir/hello_world.txt :

hadoop fs -cat /dir/sub-dir/hello_world.txt

du : Afficher la taille d'un fichier ou répertoire

Affiche la taille d'un fichier ou la taille de chaque fichier contenu dans un répertoire.

Syntaxe

hadoop fs -du [-s] [-h] URI [URI ...]

Options

Option Description
-s Affiche la taille totale agrégée au lieu d'une ventilation par fichier.
-h Affiche les tailles dans un format lisible (par exemple, 1K, 234M, 2G).

Exemples

Affichez la taille de /hello.txt :

hadoop fs -du /hello.txt

Affichez la taille totale de tous les fichiers dans /dir :

hadoop fs -du /dir

Dépannage

Permission denied

L'utilisateur actuel ne dispose pas des autorisations de lecture, d'écriture ou d'exécution sur le chemin cible.

Vérifiez les autorisations du fichier ou de son répertoire parent :

hdfs dfs -ls <parent_dir>

Demandez ensuite à un administrateur d'accorder les autorisations nécessaires en utilisant chmod ou chown. Si Kerberos est activé, assurez-vous de disposer d'un ticket Kerberos valide en exécutant kinit avant de réessayer.

SafeModeException : NameNode is in safe mode

Le NameNode entre en mode sécurisé au démarrage et rejette les opérations d'écriture pendant cette période. Attendez quelques minutes qu'il en sorte automatiquement. Vérifiez l'état actuel avec :

hdfs dfsadmin -safemode get

Ne forcez pas la sortie du mode sécurisé sauf en cas d'urgence.

No such file or directory

Le chemin spécifié n'existe pas. Vérifiez s'il y a des fautes de frappe dans le chemin. Si vous écrivez dans un fichier, assurez-vous d'abord que le répertoire parent existe — utilisez hadoop fs -mkdir -p <parent_dir> pour le créer.

StandbyException : Operation category READ is not supported in state standby

Dans une configuration haute disponibilité (HA), une demande a été routée vers un NameNode en état de veille. Vérifiez core-site.xml et confirmez que fs.defaultFS pointe vers le nom HA NameService (par exemple, hdfs://mycluster) plutôt que vers un nom d'hôte NameNode spécifique.

Étapes suivantes