Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS

HadoopHadoopBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Ce tutoriel vous guidera tout au long du processus de récupération de fichiers supprimés depuis le répertoire Corbeille du Système de fichiers distribué (Distributed File System - DFS) d'Hadoop (Hadoop's Distributed File System - HDFS). Que vous ayez supprimé accidentellement un fichier important ou que vous deviez restaurer des données, cet article vous fournira les étapes nécessaires pour récupérer vos informations perdues et maintenir l'intégrité de votre cluster Hadoop.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) hadoop/HadoopHDFSGroup -.-> hadoop/hdfs_setup("HDFS Setup") hadoop/HadoopHDFSGroup -.-> hadoop/fs_ls("FS Shell ls") hadoop/HadoopHDFSGroup -.-> hadoop/fs_rm("FS Shell rm") hadoop/HadoopHDFSGroup -.-> hadoop/fs_expunge("FS Shell expunge") hadoop/HadoopHDFSGroup -.-> hadoop/data_replication("Data Replication") hadoop/HadoopHDFSGroup -.-> hadoop/data_block("Data Block Management") hadoop/HadoopHDFSGroup -.-> hadoop/node("DataNode and NameNode Management") hadoop/HadoopHDFSGroup -.-> hadoop/snapshot("Snapshot Management") subgraph Lab Skills hadoop/hdfs_setup -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/fs_ls -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/fs_rm -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/fs_expunge -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/data_replication -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/data_block -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/node -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} hadoop/snapshot -.-> lab-417686{{"Comment récupérer les fichiers supprimés depuis la Corbeille dans le Hadoop HDFS"}} end

Introduction au Hadoop HDFS

Le Système de fichiers distribué d'Hadoop (Hadoop Distributed File System - HDFS) est le principal système de stockage utilisé par le framework Hadoop pour le traitement des données massives. Le HDFS est conçu pour fournir un stockage fiable, évolutif et tolérant aux pannes pour de grands ensembles de données.

Qu'est-ce que le HDFS?

Le HDFS est un système de fichiers distribué qui fonctionne sur du matériel standard. Il est conçu pour offrir un accès à haut débit aux données des applications et convient aux applications qui ont de grands ensembles de données. Le HDFS suit l'architecture maître-esclave, où un seul NameNode gère l'espace de noms du système de fichiers et régule l'accès aux fichiers par les clients, tandis que plusieurs DataNodes stockent et récupèrent les données.

Principales caractéristiques du HDFS

  1. Évolutivité : Le HDFS peut être mis à l'échelle pour gérer des centaines de pétaoctets de stockage et des milliers de nœuds clients.
  2. Tolérance aux pannes : Le HDFS assure la réplication et la récupération automatiques des données, garantissant que les données ne sont pas perdues même en cas de défaillance matérielle.
  3. Haut débit : Le HDFS est optimisé pour un accès à haut débit aux données des applications et convient bien aux grands ensembles de données.
  4. Compatibilité : Le HDFS est compatible avec une large gamme d'applications et d'outils, ce qui en fait une solution de stockage polyvalente pour le traitement des données massives.

Architecture du HDFS

L'architecture du HDFS se compose d'un NameNode et de plusieurs DataNodes. Le NameNode est responsable de la gestion de l'espace de noms du système de fichiers, tandis que les DataNodes stockent et récupèrent les blocs de données.

graph TD NameNode --> DataNode1 NameNode --> DataNode2 NameNode --> DataNode3 DataNode1 --> Data Blocks DataNode2 --> Data Blocks DataNode3 --> Data Blocks

Commandes HDFS

Le HDFS fournit un ensemble d'outils en ligne de commande pour interagir avec le système de fichiers. Voici quelques commandes HDFS courantes :

Commande Description
hdfs dfs -ls Lister le contenu d'un répertoire
hdfs dfs -put Copier des fichiers depuis le système de fichiers local vers le HDFS
hdfs dfs -get Copier des fichiers depuis le HDFS vers le système de fichiers local
hdfs dfs -rm Supprimer des fichiers ou des répertoires du HDFS

Gestion de la Corbeille dans le HDFS

Le HDFS propose une fonctionnalité de Corbeille pour aider les utilisateurs à récupérer les fichiers supprimés accidentellement. Lorsqu'un fichier est supprimé dans le HDFS, il est d'abord déplacé dans le répertoire Corbeille au lieu d'être définitivement supprimé.

Activation de la Corbeille

La fonctionnalité de Corbeille dans le HDFS est désactivée par défaut. Pour l'activer, vous devez modifier le fichier de configuration core-site.xml et définir les propriétés suivantes :

<property>
  <name>fs.trash.interval</name>
  <value>1440</value>
</property>
<property>
  <name>fs.trash.checkpoint.interval</name>
  <value>0</value>
</property>

La propriété fs.trash.interval spécifie le nombre de minutes après lesquelles le contenu du répertoire Corbeille sera définitivement supprimé. La propriété fs.trash.checkpoint.interval définit la fréquence à laquelle le répertoire Corbeille est sauvegardé (checkpointed).

Suppression de fichiers et utilisation de la Corbeille

Lorsqu'un fichier est supprimé dans le HDFS, il est d'abord déplacé dans le répertoire Corbeille. Vous pouvez utiliser la commande suivante pour supprimer un fichier et le déplacer dans la Corbeille :

hdfs dfs -rm /path/to/file

Le fichier supprimé sera maintenant disponible dans le répertoire Corbeille, qui se trouve à l'emplacement /user/<username>/.Trash/.

Vidage de la Corbeille

Pour supprimer définitivement le contenu du répertoire Corbeille, vous pouvez utiliser la commande suivante :

hdfs dfs -expunge

Cela supprimera tous les fichiers du répertoire Corbeille, et ils ne pourront plus être récupérés.

Restauration de fichiers supprimés depuis la Corbeille

Si vous avez besoin de restaurer un fichier qui a été supprimé accidentellement, vous pouvez utiliser la commande suivante pour copier le fichier depuis le répertoire Corbeille :

hdfs dfs -mv /.Trash/Current/path/to/file /path/to/restore

Cela déplacera le fichier du répertoire Corbeille vers son emplacement d'origine.

Récupération de fichiers supprimés depuis la Corbeille

Lorsqu'un fichier est supprimé dans le HDFS, il est d'abord déplacé dans le répertoire Corbeille, où il est stocké pendant une période de temps spécifiée avant d'être définitivement supprimé. Cela offre aux utilisateurs un moyen de récupérer les fichiers supprimés accidentellement.

Localisation des fichiers supprimés dans la Corbeille

Pour localiser un fichier supprimé dans le répertoire Corbeille, vous pouvez utiliser la commande suivante :

hdfs dfs -ls /.Trash/Current/

Cela répertoriera tous les fichiers et répertoires actuellement présents dans la Corbeille.

Restauration des fichiers supprimés

Pour restaurer un fichier supprimé depuis le répertoire Corbeille, vous pouvez utiliser la commande suivante :

hdfs dfs -mv /.Trash/Current/path/to/file /path/to/restore

Cela déplacera le fichier du répertoire Corbeille vers son emplacement d'origine.

Suppression définitive et vidage de la Corbeille

Si vous souhaitez supprimer définitivement le contenu du répertoire Corbeille, vous pouvez utiliser la commande suivante :

hdfs dfs -expunge

Cela supprimera tous les fichiers du répertoire Corbeille, et ils ne pourront plus être récupérés.

Configuration de la période de conservation de la Corbeille

La fonctionnalité de Corbeille dans le HDFS peut être configurée pour contrôler la période de conservation des fichiers supprimés. Vous pouvez modifier le fichier de configuration core-site.xml et définir les propriétés suivantes :

<property>
  <name>fs.trash.interval</name>
  <value>1440</value>
</property>
<property>
  <name>fs.trash.checkpoint.interval</name>
  <value>0</value>
</property>

La propriété fs.trash.interval spécifie le nombre de minutes après lesquelles le contenu du répertoire Corbeille sera définitivement supprimé. La propriété fs.trash.checkpoint.interval définit la fréquence à laquelle le répertoire Corbeille est sauvegardé (checkpointed).

En comprenant et en utilisant la fonctionnalité de Corbeille dans le HDFS, vous pouvez efficacement récupérer les fichiers supprimés accidentellement et maintenir l'intégrité des données dans votre cluster Hadoop.

Résumé

En suivant les instructions de ce tutoriel sur Hadoop, vous apprendrez à gérer efficacement le répertoire Corbeille, à comprendre le processus de récupération des fichiers supprimés et à garantir la sécurité et la fiabilité de vos données Hadoop HDFS. Cette connaissance vous permettra de maintenir un écosystème Hadoop solide et bien géré, vous permettant de gérer en toute confiance les scénarios de récupération de données et de protéger vos informations précieuses.