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.
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
- Escalabilidad: HDFS puede escalar hasta cientos de petabytes de almacenamiento y miles de nodos clientes.
- 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.
- 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.
- 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.



