En el examen, se le puede pedir que cree un directorio de inicio para un usuario local existente en HDFS. Es posible que se le solicite que establezca una propiedad o permiso específico para el directorio de inicio. El proceso básicamente involucra:
- Crear un usuario local si aún no está presente.
- Crear un directorio de inicio en HDFS para el usuario.
- Asignar propiedad y permisos apropiados al directorio de inicio.
1. Crear un usuario local
Ten en cuenta que tendrás que crear un usuario local en el examen solo si aún no está presente en el sistema. Vamos a ver un ejemplo para crear un directorio de inicio en HDFS para el usuario "test" y asignando los permisos solicitados.
1. Primero, verifica si el usuario "test" ya está presente en el sistema local:
# id test id: test: no such user
2. Creamos un usuario llamado "test" en el sistema local.
# useradd test
3. Vuelve a verificar la creación del usuario con el comando "id" .
$ id test uid=1001(test) gid=1001(test) groups=1001(test)
2. Crear directorio de inicio en HDFS
1. El siguiente paso es crear un directorio de inicio para el usuario "test" en HDFS. Esto se puede hacer con el usuario "hdfs" que tiene privilegios de superusuario en el sistema de archivos HDFS. De hecho, todos los comandos dados a continuación deben ejecutarse con el usuario hdfs.
# su - hdfs $ hdfs dfs -mkdir /user/test
2. Comprueba que se ha creado el directorio:
$ hdfs dfs -ls /user drwxr-xr-x - hdfs supergroup 0 2018-09-01 19:18 /user/test
3. Asignar propiedad y permisos
El último e importante paso es asignar la propiedad y los permisos deseados al directorio de inicio. Sin esto, no se puede utilizar el directorio para ningún propósito.
1. Primero comprueba el directorio y sus permisos predeterminados.
$ hdfs dfs -ls /user drwxr-xr-x - hdfs supergroup 0 2018-09-01 19:18 /user/test
2. Cambia la propiedad del directorio “/user/test” a test:test.
$ hdfs dfs -chown test:test /user/test
$ hdfs dfs -ls /user drwxr-xr-x - test test 0 2018-09-01 19:18 /user/test
3. Los permisos actuales del directorio son 755. Vamos a cambiar los permisos a 766 usando el comando que se muestra a continuación:
$ hdfs dfs -chmod 766 /user/test
$ hdfs dfs -ls /user drwxrw-rw- - test test 0 2018-09-01 19:18 /user/test
Copia de ficheros hacia y desde HDFS
Para verificar si hemos realizado todos los pasos correctamente, podemos crear un archivo local y subirlo a HDFS y viceversa utilizando el usuario "test". Primero vamos a crear un archivo local usando el usuario "test".
# su - test $ touch /home/test/test_file
Ahora, copia este archivo al directorio de inicio HDFS del usuario "test". Si quieres copiar un archivo desde cualquier otra ubicación, asegúrate de que el directorio principal tenga el permiso 755.
$ hdfs dfs -put /home/test/test_file /user/test/
Comprobamos:
$ hdfs dfs -ls /user/test Found 1 items -rw-r--r-- 3 test test 0 2018-09-01 20:03 /user/test/test_file
Ahora copiamos el mismo archivo de HDFS al sistema de archivos local.
$ hdfs dfs -get /user/test/test_file /tmp/
Comprobamos:
$ ls -l /tmp/test_file -rw-r--r-- 1 test test 0 Sep 1 20:05 /tmp/test_file
Los comandos "hdfs dfs -get" y "hdfs dfs -CopyToLocal" son equivalentes y se pueden usar indistintamente.
0 comentarios:
Publicar un comentario
Gracias por participar en esta página.