Cómo administrar la función de 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

El Sistema de Archivos Distribuido de Hadoop (HDFS, por sus siglas en inglés) ofrece una potente función de Papelera (Trash) para ayudar a los usuarios a administrar los archivos eliminados. Este tutorial lo guiará a través de la comprensión de la función de Papelera, su configuración y habilitación, y la gestión efectiva de los archivos eliminados dentro de la Papelera. Al final, tendrá una comprensión integral de cómo aprovechar la función de Papelera para mantener la integridad y protección de los datos en su ecosistema de Hadoop.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hadoop(("Hadoop")) -.-> hadoop/HadoopHDFSGroup(["Hadoop HDFS"]) 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/storage_policies("Storage Policies Management") hadoop/HadoopHDFSGroup -.-> hadoop/quota("Quota Management") subgraph Lab Skills hadoop/fs_rm -.-> lab-417683{{"Cómo administrar la función de Papelera en Hadoop HDFS"}} hadoop/fs_expunge -.-> lab-417683{{"Cómo administrar la función de Papelera en Hadoop HDFS"}} hadoop/data_replication -.-> lab-417683{{"Cómo administrar la función de Papelera en Hadoop HDFS"}} hadoop/data_block -.-> lab-417683{{"Cómo administrar la función de Papelera en Hadoop HDFS"}} hadoop/storage_policies -.-> lab-417683{{"Cómo administrar la función de Papelera en Hadoop HDFS"}} hadoop/quota -.-> lab-417683{{"Cómo administrar la función de Papelera en Hadoop HDFS"}} end

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á.

Configurar y habilitar la función de Papelera

Configurar la función de Papelera

La función de Papelera (Trash) en Hadoop HDFS se configura a través del archivo core-site.xml, que se encuentra en el directorio de configuración de Hadoop (normalmente /etc/hadoop/conf). Puedes editar este archivo para establecer los siguientes parámetros:

  1. fs.trash.interval: Este parámetro especifica 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.

  2. fs.trash.checkpoint.interval: Este parámetro especifica 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.

A continuación, se muestra un ejemplo de configuración:

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

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, debes 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.

Puedes 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á.

Después de configurar y habilitar la función de Papelera, puedes administrar los archivos eliminados en el directorio de Papelera como se describe en la siguiente sección.

Administrar archivos eliminados en la Papelera

Una vez que la función de Papelera (Trash) está habilitada, puedes administrar los archivos eliminados en el directorio de Papelera utilizando varios comandos de HDFS.

Listar archivos eliminados en la Papelera

Para ver los archivos que se han movido al directorio de Papelera, puedes utilizar el siguiente comando:

hdfs dfs -ls /.Trash

Esto listará todos los archivos y directorios en el directorio de Papelera, incluyendo los subdirectorios de cada usuario.

Restaurar archivos eliminados

Si necesitas restaurar un archivo que ha sido eliminado, puedes utilizar el siguiente comando:

hdfs dfs -mv /.Trash/<username>/<deleted_file_path> <original_file_path>

Reemplaza <username> con el nombre de usuario del usuario que eliminó el archivo y <deleted_file_path> con la ruta del archivo eliminado dentro del directorio de Papelera. La <original_file_path> es la ruta donde deseas restaurar el archivo.

Por ejemplo, para restaurar un archivo llamado important_data.txt que fue eliminado por el usuario john, ejecutarías:

hdfs dfs -mv /.Trash/john/important_data.txt /user/john/important_data.txt

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

Vaciar la Papelera

Si deseas eliminar permanentemente todos los archivos en el directorio de Papelera, puedes utilizar el siguiente comando:

hdfs dfs -rm -r /.Trash

Esto eliminará el directorio de Papelera completo y su contenido. Ten en cuenta que esta operación es irreversible, así que asegúrate de no tener ningún archivo importante en la Papelera que necesites restaurar.

Como alternativa, puedes dejar que el manejador de la Papelera se encargue de la eliminación automática de archivos según el parámetro fs.trash.interval configurado.

Al comprender y administrar eficazmente la función de Papelera en Hadoop HDFS, puedes garantizar la seguridad y recuperabilidad de tus datos importantes.

Resumen

La función de Papelera (Trash) en Hadoop HDFS es un componente crucial para administrar archivos eliminados y garantizar la protección de los datos. Este tutorial ha cubierto los aspectos clave de la función de Papelera, incluyendo la comprensión de su propósito, su configuración y habilitación, y la gestión efectiva de los archivos eliminados dentro de la Papelera. Al dominar estas técnicas, puedes optimizar la gestión de datos y mantener la integridad de tu infraestructura de datos impulsada por Hadoop.