Definición de HDFS
HDFS (Hadoop Distributed File System) es el 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/consumo.csv
Nota: Contenido de fichero localizacion.csv
LocalizacionID, Zona, Barrio 1, "Distrito 4 Salamanca", "Castellana" 2, "Distrito 4 Salamanca", "Barrio Salamanca" 3, "Distrito 5 Chamartin", "Prosperidad" 4, "Distrito 7 Chanberi", "Rio Rosas" 5, "Distrito 7 Chanberi", "Universidad"
Nota: Contenido de fichero consumo.csv
Fecha, Compania, INT "2018-01-01 00:00:01", "A", 1 "2018-01-01 00:00:01", "A", 2 "2018-01-01 00:00:01", "B", 3 "2018-01-01 00:00:01", "B", 4 "2018-01-01 00:00:01", "B", 5
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
Crear un directorio de forma recursiva:
$ hadoop fs -mkdir -p miDirectorio/subdirectorio
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
Copiar ficheros de Local a la estructura de datos FS
hdfs dfs -copyFromLocal /directorio_local/ /directorio_hdfs/
Copiar ficheros de la estructura de datos FS a Local
hdfs dfs -get /directorio_hdfs/ /directorio_local/
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
Saludos,
como puedo mejorar mi acceso concurrente, pues, mi ambiente colapsa y no puedo trabajar con un tercer usuario.