Comprender la función de Papelera en Hadoop HDFS
La función de Papelera (Trash) en el Sistema de Archivos Distribuido de Hadoop (HDFS, por sus siglas en inglés) es un mecanismo que permite a los usuarios recuperar archivos eliminados accidentalmente. Cuando se elimina un archivo en HDFS, no se elimina inmediatamente del sistema de archivos. En cambio, se mueve a un directorio especial llamado directorio de Papelera, donde se almacena durante un período de tiempo configurable antes de ser eliminado permanentemente.
La función de Papelera proporciona una red de seguridad para los usuarios, lo que les permite restaurar los archivos eliminados si se dan cuenta de que cometieron un error o necesitan el archivo nuevamente. Esto es especialmente útil en entornos de procesamiento de datos a gran escala, donde las eliminaciones accidentales de archivos pueden tener consecuencias significativas.
Comprender el directorio de Papelera
El directorio de Papelera en HDFS es un directorio oculto ubicado en la raíz del sistema de archivos, normalmente llamado .Trash
. Cuando se elimina un archivo, se mueve al directorio de Papelera, donde se almacena en un subdirectorio con el nombre de usuario del usuario. Esto permite que varios usuarios tengan sus propios directorios de Papelera y administren sus archivos eliminados de forma independiente.
El directorio de Papelera no es visible por defecto, pero puede listar su contenido utilizando el siguiente comando de HDFS:
hdfs dfs -ls /.Trash
Esto mostrará el contenido del directorio de Papelera, incluyendo los subdirectorios de cada usuario y los archivos que han eliminado.
Configurar la función de Papelera
La función de Papelera en HDFS es configurable, y puede ajustar la configuración para adaptarse a sus necesidades. Los principales parámetros de configuración son:
fs.trash.interval
: El número de minutos después de los cuales el contenido del directorio de Papelera se elimina permanentemente. El valor predeterminado es 0, lo que significa que la función de Papelera está deshabilitada.
fs.trash.checkpoint.interval
: El número de minutos entre los puntos de control de la Papelera, donde el contenido del directorio de Papelera se guarda en un archivo de punto de control. Esto ayuda a recuperar el directorio de Papelera en caso de fallos del sistema.
Puede establecer estos parámetros en el archivo core-site.xml
de su configuración de Hadoop. Por ejemplo:
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>60</value>
</property>
En este ejemplo, la función de Papelera está habilitada con un período de retención de 1 día (1440 minutos), y se crea un punto de control cada 60 minutos.
Habilitar la función de Papelera
Para habilitar la función de Papelera en HDFS, debe establecer el parámetro fs.trash.interval
en un valor mayor que 0. Una vez que la función de Papelera está habilitada, cualquier archivo eliminado utilizando el comando hdfs dfs -rm
se moverá al directorio de Papelera en lugar de ser eliminado permanentemente.
Puede verificar que la función de Papelera está habilitada ejecutando el siguiente comando:
hdfs dfs -touchz /.Trash/test.txt
Si la función de Papelera está habilitada, este comando creará un nuevo archivo llamado test.txt
en el directorio de Papelera. Si la función de Papelera está deshabilitada, el comando fallará.