Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS

HadoopHadoopBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este tutorial lo guiará a través del proceso de recuperación de archivos eliminados del directorio de la Papelera en el Sistema de Archivos Distribuido de Hadoop (HDFS, por sus siglas en inglés). Ya sea que haya eliminado accidentalmente un archivo importante o necesite restaurar datos, este artículo le proporcionará los pasos necesarios para recuperar la información perdida y mantener la integridad de su clúster de 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{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/fs_ls -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/fs_rm -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/fs_expunge -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/data_replication -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/data_block -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/node -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} hadoop/snapshot -.-> lab-417686{{"Cómo recuperar archivos eliminados de la Papelera en Hadoop HDFS"}} end

Introducción a Hadoop HDFS

El Sistema de Archivos Distribuido de Hadoop (HDFS, por sus siglas en inglés) es el sistema de almacenamiento principal utilizado por el marco de trabajo de Hadoop para el procesamiento de grandes volúmenes de datos (big data). HDFS está diseñado para proporcionar un almacenamiento confiable, escalable y tolerante a fallos para conjuntos de datos grandes.

¿Qué es HDFS?

HDFS es un sistema de archivos distribuido que se ejecuta en hardware de uso común. Está diseñado para proporcionar un acceso de alto rendimiento a los datos de las aplicaciones y es adecuado para aplicaciones que tienen conjuntos de datos grandes. HDFS sigue la arquitectura maestro-esclavo, donde un único NameNode gestiona el espacio de nombres del sistema de archivos y regula el acceso a los archivos por parte de los clientes, mientras que múltiples DataNodes almacenan y recuperan datos.

Características principales de HDFS

  1. Escalabilidad: HDFS puede escalar hasta cientos de petabytes de almacenamiento y miles de nodos clientes.
  2. Tolerancia a fallos: HDFS proporciona replicación y recuperación automáticas de datos, lo que garantiza que los datos no se pierdan incluso en caso de fallos de hardware.
  3. Alto rendimiento: HDFS está optimizado para el acceso de alto rendimiento a los datos de las aplicaciones y es muy adecuado para conjuntos de datos grandes.
  4. Compatibilidad: HDFS es compatible con una amplia gama de aplicaciones y herramientas, lo que lo convierte en una solución de almacenamiento versátil para el procesamiento de grandes volúmenes de datos.

Arquitectura de HDFS

La arquitectura de HDFS consta de un NameNode y múltiples DataNodes. El NameNode es responsable de gestionar el espacio de nombres del sistema de archivos, mientras que los DataNodes almacenan y recuperan bloques de datos.

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

Comandos de HDFS

HDFS proporciona un conjunto de herramientas de línea de comandos para interactuar con el sistema de archivos. Algunos comandos comunes de HDFS son los siguientes:

Comando Descripción
hdfs dfs -ls Lista el contenido de un directorio
hdfs dfs -put Copia archivos desde el sistema de archivos local a HDFS
hdfs dfs -get Copia archivos desde HDFS al sistema de archivos local
hdfs dfs -rm Elimina archivos o directorios de HDFS

Gestión de la Papelera en HDFS

HDFS ofrece una función de Papelera para ayudar a los usuarios a recuperar archivos eliminados accidentalmente. Cuando se elimina un archivo en HDFS, primero se mueve al directorio de la Papelera en lugar de ser eliminado permanentemente.

Habilitar la Papelera

La función de Papelera en HDFS está deshabilitada por defecto. Para habilitarla, debe modificar el archivo de configuración core-site.xml y establecer las siguientes propiedades:

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

La propiedad fs.trash.interval especifica el número de minutos después de los cuales el contenido del directorio de la Papelera se eliminará permanentemente. La propiedad fs.trash.checkpoint.interval establece la frecuencia con la que se realiza un punto de control del directorio de la Papelera.

Eliminar archivos y usar la Papelera

Cuando se elimina un archivo en HDFS, primero se mueve al directorio de la Papelera. Puede usar el siguiente comando para eliminar un archivo y moverlo a la Papelera:

hdfs dfs -rm /path/to/file

El archivo eliminado ahora estará disponible en el directorio de la Papelera, que se encuentra en /user/<username>/.Trash/.

Vaciar la Papelera

Para eliminar permanentemente el contenido del directorio de la Papelera, puede usar el siguiente comando:

hdfs dfs -expunge

Esto eliminará todos los archivos del directorio de la Papelera y ya no se podrán recuperar.

Restaurar archivos eliminados de la Papelera

Si necesita restaurar un archivo que se eliminó accidentalmente, puede usar el siguiente comando para copiar el archivo de vuelta desde el directorio de la Papelera:

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

Esto moverá el archivo del directorio de la Papelera de vuelta a su ubicación original.

Recuperación de archivos eliminados de la Papelera

Cuando se elimina un archivo en HDFS, primero se mueve al directorio de la Papelera, donde se almacena durante un período de tiempo especificado antes de ser eliminado permanentemente. Esto ofrece una forma para que los usuarios recuperen archivos eliminados accidentalmente.

Localización de archivos eliminados en la Papelera

Para localizar un archivo eliminado en el directorio de la Papelera, puede usar el siguiente comando:

hdfs dfs -ls /.Trash/Current/

Esto listará todos los archivos y directorios que actualmente se encuentran en la Papelera.

Restauración de archivos eliminados

Para restaurar un archivo eliminado del directorio de la Papelera, puede usar el siguiente comando:

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

Esto moverá el archivo del directorio de la Papelera de vuelta a su ubicación original.

Eliminación permanente y vaciado de la Papelera

Si desea eliminar permanentemente el contenido del directorio de la Papelera, puede usar el siguiente comando:

hdfs dfs -expunge

Esto eliminará todos los archivos del directorio de la Papelera y ya no se podrán recuperar.

Configuración de la retención de la Papelera

La función de Papelera en HDFS se puede configurar para controlar el período de retención de los archivos eliminados. Puede modificar el archivo de configuración core-site.xml y establecer las siguientes propiedades:

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

La propiedad fs.trash.interval especifica el número de minutos después de los cuales el contenido del directorio de la Papelera se eliminará permanentemente. La propiedad fs.trash.checkpoint.interval establece la frecuencia con la que se realiza un punto de control del directorio de la Papelera.

Al comprender y utilizar la función de Papelera en HDFS, puede recuperar eficazmente archivos eliminados accidentalmente y mantener la integridad de los datos en su clúster de Hadoop.

Resumen

Siguiendo las instrucciones de este tutorial de Hadoop, aprenderá a gestionar eficazmente el directorio de la Papelera, comprenderá el proceso de recuperación de archivos eliminados y garantizará la seguridad y confiabilidad de sus datos en Hadoop HDFS. Este conocimiento le permitirá mantener un ecosistema de Hadoop sólido y bien gestionado, lo que le permitirá manejar con confianza situaciones de recuperación de datos y proteger su valiosa información.