HDFS – Sistema de archivos Hadoop

Definición de HDFS

HDFS (Sistema de archivos Hadoop o Hadoop Distributed File System) es elhdfs sistema de almacenamiento de archivos principal de Hadoop.

Trabaja bien con grandes volúmenes de datos, reduce la E/S, gran escalabilidad y disponibilidad y tolerancia a fallos debido a la replicación de datos.

El sistema de archivos Hadoop suele utilizar como sistema de gestión de bases de datos orientado a columnas llamado HBase.

 

Componentes principales

  • NameNode: Sólo existe uno en el clúster. Se encarga de:
    • Regular el acceso a los ficheros por parte de los clientes.
    • Mantener en memoria la metadata del sistema de ficheros.
    • Controlar los bloques de fichero que tiene cada DataNode.
  • DataNode: Se encargan de leer y escribir las peticiones de los clientes y de replicar los bloques en los diferentes nodos.

 

Comandos para manipular ficheros HDFS

Existen dos maneras de consultar y manipular ficheros HDFS mediante linea de comandos: “hadoop fs” y “hdfs dfs”

La diferencia se encuentra en que FS indica un sistema de archivos genérico que puede apuntar a cualquier sistema de archivos, como FS locales, HFTP FS, S3 FS y otros como HDFS. Por el contrario “hdfs” es específico para el sistema de archivos HDFS.

 

Comandos para manipular ficheros con “HADOOP FS”

Estos comandos se ejecutan desde la línea de comando, y antes de poder utilizarlos es necesario arrancar el servicio de Hadoop:

$ hadoop/sbin/start-dfs.sh
$ hadoop/sbin/start-yarn.sh

Resetear la estructura para eliminar referencias pasadas.

$ hadoop namenode -format

Copiar fichero local en la estructura de datos:

$ hadoop fs -put /ruta-local/ficheroLocal.txt /ruta-hdfs/ficheroHDFS.txt
$ hadoop fs -put /home/datos/cosumos.csv /user/hadoop/consumos/consumos.css

Copiar ficheros de la estructura al local:

$ hadoop fs -get /ruta-hdfs/ficheroHDFS.txt /rutalocal/ficheroLocal.txt

Listar el contenido del directorio:

$ hadoop fs -ls /

Mostrar el contenido de un fichero de la estructura:

$ hadoop fs -cat /ruta-hdfs/ficheroHDFS.txt

Crear un directorio:

$ hadoop fs -mkdir miDirectorio

Borrar un directorio y todo su contenido:

$ hadoop fs -rm -r miDirectorio

 

Comandos para manipular ficheros con “HDFS DFS”

Listar directorio principal

hdfs dfs -ls /

Listar subdirectorio “prueba”

hdfs dfs -ls /prueba

Otros comandos: appendToFile, cat, chgrp, chmod, chown, copyFromLocal, copyToLocal, count, cp, du, dus, expunge, get, getfacl, getmerge, ls, lsr, mkdir, moveFromLocal, moveToLocal, mv, put, rm, rmr, setfacl, setrep, stat, tail, test, text, touchz

Fuente: Comandos Web Oficial
 

Formato y Compresión de HDFS

Autor: Diego Calvo