Introducción
Un taller comunitario guarda su programación de salas, la dirección de contacto para visitantes y una nota de acceso en una carpeta HDFS compartida. Antes de editar la programación, necesitas un punto de recuperación que siga mostrando los archivos aprobados después de que cambie la carpeta actual.
Primero leerás datos normales, crearás una instantánea nativa como propietario ordinario y después realizarás dos cambios controlados. Debes conocer las rutas, las cargas de archivos, los directorios y los permisos básicos de propietario y grupo en HDFS. Este laboratorio presenta las instantáneas y sus rutas históricas. Utiliza Terminal en todo momento; todos los datos son independientes de otros laboratorios. El autor estima 40 minutos, incluida la lectura y la corrección de errores habituales.
Guarda los archivos aprobados antes de editar
En este paso leerás la programación que funciona y crearás un punto de recuperación con nombre. Empieza en Terminal. cd cambia el directorio de trabajo local de esta shell; las rutas que comienzan por /user/labex/ en los comandos HDFS pertenecen a HDFS, no al disco local.
cd /home/labex/project
Lee la programación actual:
hdfs dfs -cat /user/labex/snapshot-workshop/team/schedule.csv
Los campos separados por comas indican una sala y su actividad:
room,session
A,Printmaking
B,Bookbinding
La carpeta del equipo también contiene contacts.csv y notes.txt. Muestra su contenido:
hdfs dfs -ls /user/labex/snapshot-workshop/team
Son archivos compartidos normales cuyo propietario es labex y cuyo grupo es bigdata. El usuario preparado analyst pertenece a ese grupo y puede leer, pero no escribir. Tú eres el propietario ordinario, no la identidad de servicio del NameNode, hdfs. El entorno didáctico utiliza autenticación simple; no demuestra seguridad Kerberos.
Una instantánea es una vista histórica de solo lectura de un directorio en un momento identificado por un nombre. Un administrador ha habilitado la capacidad de crear instantáneas únicamente en esta carpeta del curso. Tú crearás el punto de recuperación real. -createSnapshot recibe el directorio actual seguido del nombre de la instantánea:
hdfs dfs -createSnapshot /user/labex/snapshot-workshop/team morning-approved
La respuesta identifica una ruta nativa que termina en .snapshot/morning-approved. El componente especial .snapshot selecciona el historial; no es un directorio de copia de seguridad ordinario creado con -mkdir. Lee la programación histórica:
hdfs dfs -cat /user/labex/snapshot-workshop/team/.snapshot/morning-approved/schedule.csv
Contiene las mismas dos actividades aprobadas. Muestra los tres archivos históricos:
hdfs dfs -ls /user/labex/snapshot-workshop/team/.snapshot/morning-approved
La instantánea también incluye el contacto y la nota de acceso originales. Si un comando indica No such file or directory, compara la escritura de la ruta con este listado y repite únicamente la lectura que falló. Si -createSnapshot indica que el nombre ya existe, inspecciona esa instantánea en lugar de eliminarla o recrearla. No vuelvas a ejecutar la preparación del entorno: se negará a sobrescribir el trabajo existente.
Ya tienes un punto de recuperación real antes de realizar ninguna edición. Una copia descargada localmente o una carpeta ordinaria con el mismo nombre no crearían este historial nativo.
Compara el historial con el trabajo posterior
En este paso añadirás trabajo nuevo válido, provocarás un error de alcance limitado y observarás que la instantánea no cambia. Continúa en la misma Terminal.
El archivo de la actividad posterior del taller se encuentra en el almacenamiento local. Léelo primero:
cat /home/labex/project/incoming/late-session.csv
Contiene la sala C y Paper Folding. Súbelo a la carpeta actual del equipo. Forma parte de la programación actual y debe conservarse en cualquier recuperación posterior:
hdfs dfs -put /home/labex/project/incoming/late-session.csv /user/labex/snapshot-workshop/team/late-session.csv
Conserva el grupo de uso compartido previsto con -chgrp. El modo de archivo 640 concede lectura y escritura al propietario, lectura al grupo y ningún acceso al archivo a otros usuarios:
hdfs dfs -chgrp bigdata /user/labex/snapshot-workshop/team/late-session.csv
hdfs dfs -chmod 640 /user/labex/snapshot-workshop/team/late-session.csv
A continuación, examina un reemplazo que es incorrecto a propósito:
cat /home/labex/project/incoming/schedule-draft.csv
Contiene A,CANCELLED. La siguiente carga sobrescribe deliberadamente solo el archivo actual de programación indicado. La opción -f permite reemplazar ese destino; se utiliza aquí únicamente porque se trata de una edición controlada. No afecta a la instantánea.
hdfs dfs -put -f /home/labex/project/incoming/schedule-draft.csv /user/labex/snapshot-workshop/team/schedule.csv
El segundo error controlado elimina únicamente el archivo de contacto actual. Confirma primero la ruta exacta:
hdfs dfs -ls /user/labex/snapshot-workshop/team/contacts.csv
hdfs dfs -rm /user/labex/snapshot-workshop/team/contacts.csv
No utilices un comodín, una eliminación recursiva ni la raíz del equipo. Lee la programación modificada y después su versión histórica:
hdfs dfs -cat /user/labex/snapshot-workshop/team/schedule.csv
hdfs dfs -cat /user/labex/snapshot-workshop/team/.snapshot/morning-approved/schedule.csv
El resultado actual muestra la cancelación; el historial todavía contiene Printmaking y Bookbinding. Lee el contacto histórico como el lector compartido real. sudo -u analyst ejecuta solamente este cliente con esa identidad ordinaria de prueba; la ruta absoluta del cliente selecciona la herramienta HDFS preparada:
sudo -u analyst /usr/local/bin/hdfs dfs -cat /user/labex/snapshot-workshop/team/.snapshot/morning-approved/contacts.csv
La dirección sigue siendo visitors@example.test, aunque falta el archivo de contacto actual. Consulta el listado actual:
hdfs dfs -ls /user/labex/snapshot-workshop/team
Contiene la programación modificada, la nota intacta y la actividad nueva. Un error de destino existente en la carga anterior del archivo nuevo significa que debes leer el archivo ya presente, en vez de eliminarlo y ampliar el alcance de la carga. Un error de contacto ausente al repetir la eliminación indica que el borrado controlado ya se realizó; inspecciona el listado y continúa.
Deja este estado final tal como está. El siguiente laboratorio proporciona su propio escenario dañado independiente y enseña la recuperación. Las instantáneas comparten almacenamiento con HDFS: sus bloques no son copias de seguridad independientes, por lo que no protegen contra la pérdida de todo el sistema de almacenamiento.
Resumen
Creaste una instantánea nativa de HDFS antes de editar y después distinguiste sus archivos históricos protegidos de la carpeta actual modificada. La actividad añadida posteriormente solo existe en la programación actual, por lo que reemplazar toda la carpeta con el historial descartaría trabajo válido. También leíste el historial con la identidad compartida real analyst.



