LINUX

Los 30 comandos de shell de Hadoop HDFS más utilizados

En este tutorial, lo guiaremos a través de los comandos del Sistema de archivos distribuidos de Hadoop (HDFS) que necesitará para administrar archivos en HDFS. El comando HDFS se usa la mayoría de las veces cuando se trabaja con Hadoop File System. Incluye varios comandos tipo shell que interactúan directamente con el sistema de archivos distribuido de Hadoop (HDFS), así como con otros sistemas de archivos compatibles con Hadoop. La mayoría de los comandos se comportan como los correspondientes comandos de Unix. La información de error se envía a stderr y la salida se envía a stdout. Entonces empecemos.

1) Verificación de la versión

Para comprobar la versión de Hadoop.

ubuntu@ubuntu-VirtualBox:~$ hadoop version

Hadoop 2.7.3

Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff

Compiled by root on 2016-08-18T01:41Z

Compiled with protoc 2.5.0

From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4

This command was run using /home/ubuntu/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar

2) comando list

Enumere todos los archivos / directorios para la ruta de destino de hdfs dada.

ubuntu@ubuntu-VirtualBox:~ $ hdfs dfs -ls /

Found 3 items

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:11 /test

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:09 /tmp

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:09 /usr

3) comando df

Muestra el espacio libre en un destino de hdfs determinado

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -df hdfs:/

Filesystem                Size   Used  Available  Use%

hdfs://master:9000  6206062592  32768  316289024    0%

4) comando de conteo

  • Cuente el número de directorios, archivos y bytes en las rutas que coinciden con el patrón de archivo especificado.
ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -count hdfs:/

4            0                  0 hdfs:///

5) comando fsck

Comando HDFS para verificar el estado del sistema de archivos Hadoop.

ubuntu@ubuntu-VirtualBox:~$ hdfs fsck /

Connecting to namenode via http://master:50070/fsck?ugi=ubuntu&path=%2F

FSCK started by ubuntu (auth:SIMPLE) from /192.168.1.36 for path / at Mon Nov 07 01:23:54 GMT+05:30 2016

Status: HEALTHY

Total size:           0 B

Total dirs:           4

Total files:          0

Total symlinks:                 0

Total blocks (validated): 0

Minimally replicated blocks:        0

Over-replicated blocks:  0

Under-replicated blocks:              0

Mis-replicated blocks:                   0

Default replication factor:            2

Average block replication:            0.0

Corrupt blocks:                0

Missing replicas:                             0

Number of data-nodes:                1

Number of racks:                            1

FSCK ended at Mon Nov 07 01:23:54 GMT+05:30 2016 in 33 milliseconds

The filesystem under path '/' is HEALTHY

6) Comando equilibrador

Ejecute una utilidad de equilibrio de clústeres.

ubuntu@ubuntu-VirtualBox:~$ hdfs balancer

16/11/07 01:26:29 INFO balancer.Balancer: namenodes  = [hdfs://master:9000]

16/11/07 01:26:29 INFO balancer.Balancer: parameters = Balancer.Parameters[BalancingPolicy.Node, threshold=10.0, max idle iteration = 5, number of nodes to be excluded = 0, number of nodes to be included = 0]

Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved

16/11/07 01:26:38 INFO net.NetworkTopology: Adding a new node: /default-rack/192.168.1.36:50010

16/11/07 01:26:38 INFO balancer.Balancer: 0 over-utilized: []

16/11/07 01:26:38 INFO balancer.Balancer: 0 underutilized: []

The cluster is balanced. Exiting...

7 Nov, 2016 1:26:38 AM            0                  0 B                 0 B               -1 B

7 Nov, 2016 1:26:39 AM   Balancing took 13.153 seconds

7) Comando mkdir

Comando HDFS para crear el directorio en HDFS.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -mkdir /hadoop

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /

Found 5 items

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:29 /hadoop

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:26 /system

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:11 /test

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:09 /tmp

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:09 /usr

8) poner comando

Archivo

Copie el archivo de un solo src o varios srcs del sistema de archivos local al sistema de archivos de destino.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -put test /hadoop

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /hadoop

Found 1 items

-rw-r--r--   2 ubuntu supergroup         16 2016-11-07 01:35 /hadoop/test

Directorio

Comando HDFS para copiar el directorio de una sola fuente o múltiples fuentes del sistema de archivos local al sistema de archivos de destino.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -put hello /hadoop/

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /hadoop

Found 2 items

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:43 /hadoop/hello

-rw-r--r--   2 ubuntu supergroup         16 2016-11-07 01:35 /hadoop/test

9) du Command

Muestra el tamaño de los archivos y directorios contenidos en el directorio dado o el tamaño de un archivo si es solo un archivo.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -du /

59  /hadoop

0   /system

0   /test

0   /tmp

0   /usr

10) comando rm

Comando HDFS para eliminar el archivo de HDFS.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -rm /hadoop/test

16/11/07 01:53:29 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.

Deleted /hadoop/test

11) comando de eliminación

Comando HDFS que vacía la papelera.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -expunge

16/11/07 01:55:54 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.

12) comando rm -r

Comando HDFS para eliminar todo el directorio y todo su contenido de HDFS.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -rm -r /hadoop/hello

16/11/07 01:58:52 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.

Deleted /hadoop/hello

13) Comando chmod

Cambie los permisos de los archivos.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -chmod 777 /hadoop

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /

Found 5 items

drwxrwxrwx   - ubuntu supergroup          0 2016-11-07 01:58 /hadoop

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:26 /system

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:11 /test

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:09 /tmp

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:09 /usr

14) obtén el comando

Comando HDFS para copiar archivos de hdfs al sistema de archivos local.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -get /hadoop/test /home/ubuntu/Desktop/

ubuntu@ubuntu-VirtualBox:~$ ls -l /home/ubuntu/Desktop/

total 4

-rw-r--r-- 1 ubuntu ubuntu 16 Nov  8 00:47 test

15) comando de gato

Comando HDFS que copia las rutas de origen a la salida estándar.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -cat /hadoop/test

This is a test.

16) comando touchz

HDFS Comando para crear un archivo en HDFS con un tamaño de archivo de 0 bytes.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -touchz /hadoop/sample

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /hadoop

Found 2 items

-rw-r--r--   2 ubuntu supergroup          0 2016-11-08 00:57 /hadoop/sample

-rw-r--r--   2 ubuntu supergroup         16 2016-11-08 00:45 /hadoop/test

17) comando de texto

Comando HDFS que toma un archivo fuente y genera el archivo en formato de texto.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -text /hadoop/test

This is a test.

18) comando copyFromLocal

Comando HDFS para copiar el archivo del sistema de archivos local a HDFS.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -copyFromLocal /home/ubuntu/new /hadoop

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /hadoop

Found 3 items

-rw-r--r--   2 ubuntu supergroup         43 2016-11-08 01:08 /hadoop/new

-rw-r--r--   2 ubuntu supergroup          0 2016-11-08 00:57 /hadoop/sample

-rw-r--r--   2 ubuntu supergroup         16 2016-11-08 00:45 /hadoop/test

19) comando copyToLocal

Similar al comando get, excepto que el destino está restringido a una referencia de archivo local.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -copyToLocal /hadoop/sample /home/ubuntu/

ubuntu@ubuntu-VirtualBox:~$ ls -l s*

-rw-r--r-- 1 ubuntu ubuntu         0 Nov  8 01:12 sample

-rw-rw-r-- 1 ubuntu ubuntu 102436055 Jul 20 04:47 sqoop-1.99.7-bin-hadoop200.tar.gz

20) Comando mv

Comando HDFS para mover archivos desde el origen al destino. Este comando también permite múltiples fuentes, en cuyo caso el destino debe ser un directorio.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -mv /hadoop/sample /tmp

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /tmp

Found 1 items

-rw-r--r--   2 ubuntu supergroup          0 2016-11-08 00:57 /tmp/sample

21) Comando cp

Comando HDFS para copiar archivos desde el origen al destino. Este comando también permite múltiples fuentes, en cuyo caso el destino debe ser un directorio.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -cp /tmp/sample /usr

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /usr

Found 1 items

-rw-r--r--   2 ubuntu supergroup          0 2016-11-08 01:22 /usr/sample

22) comando de cola

Muestra el último kilobyte del archivo «nuevo» en la salida estándar.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -tail /hadoop/new

This is a new file.

Running HDFS commands.

23) comando chown

Comando HDFS para cambiar el propietario de los archivos.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -chown root:root /tmp

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -ls /

Found 5 items

drwxrwxrwx   - ubuntu supergroup          0 2016-11-08 01:17 /hadoop

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:26 /system

drwxr-xr-x   - ubuntu supergroup          0 2016-11-07 01:11 /test

drwxr-xr-x   - root   root                0 2016-11-08 01:17 /tmp

drwxr-xr-x   - ubuntu supergroup          0 2016-11-08 01:22 /usr

24) comando setrep

El factor de replicación predeterminado para un archivo es 3. A continuación, el comando HDFS se usa para cambiar el factor de replicación de un archivo.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -setrep -w 2 /usr/sample

Replication 2 set: /usr/sample

Waiting for /usr/sample ... done

25) comando distcp

Copiar un directorio de un nodo en el clúster a otro

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -distcp hdfs://namenodeA/apache_hadoop hdfs://namenodeB/hadoop

26) comando de estadísticas

Imprime estadísticas sobre el archivo / directorio en en el formato especificado. El formato acepta en bloques (% b), tipo (% F), nombre de grupo del propietario (% g), nombre (% n), tamaño de bloque (% o), replicación (% r), nombre de usuario del propietario (% u) y fecha de modificación (% y,% Y). % y muestra la fecha UTC como “aaaa-MM-dd HH: mm: ss” y% Y muestra milisegundos desde el 1 de enero de 1970 UTC. Si no se especifica el formato, se utiliza% y de forma predeterminada.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -stat "%F %u:%g %b %y %n" /hadoop/test

regular file ubuntu:supergroup 16 2016-11-07 19:15:22 test

27) comando getfacl

Muestra las listas de control de acceso (ACL) de archivos y directorios. Si un directorio tiene una ACL predeterminada, getfacl también muestra la ACL predeterminada.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -getfacl /hadoop

# file: /hadoop

# owner: ubuntu

# group: supergroup

28) comando du -s

Muestra un resumen de la longitud de los archivos.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -du -s /hadoop

59  /hadoop

29) comando de suma de comprobación

Devuelve la información de la suma de comprobación de un archivo.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -checksum /hadoop/new

/hadoop/new     MD5-of-0MD5-of-512CRC32C               000002000000000000000000639a5d8ac275be8d0c2b055d75208265

30) comando getmerge

Toma un directorio de origen y un archivo de destino como entrada y concatena archivos en src en el archivo local de destino.

ubuntu@ubuntu-VirtualBox:~$ cat test

This is a test.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -cat /hadoop/new

This is a new file.

Running HDFS commands.

ubuntu@ubuntu-VirtualBox:~$ hdfs dfs -getmerge /hadoop/new test

ubuntu@ubuntu-VirtualBox:~$ cat test

This is a new file.

Running HDFS commands.

Conclusión

Este es el final del blog de HDFS Command, esperamos que haya sido informativo y haya podido ejecutar todos los comandos. Aprendimos a crear, cargar y listar los contenidos en nuestros directorios HDFS. También adquirimos las habilidades para descargar archivos desde HDFS a nuestro sistema de archivos local y exploramos algunas características avanzadas de la administración de archivos HDFS usando la línea de comandos.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar