SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
HDFS 
Tomás Fernández Pena 
Máster en Computación de Altas Prestaciones 
Universidade de Santiago de Compostela 
Computación en Sistemas Distribuidos 
Material bajo licencia Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) 
citius.usc.es
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Filesystems en Hadoop 
Hadoop tiene una noción abstracta de los filesystems 
HDFS es un caso particular de filesystem 
Algunos filesystems soportados: 
FS URI Descripción 
Local file Disco local 
HDFS hdfs Sistema HDFS 
HFTP hftp RO acceso a HDFS sobre HTTP 
HSFTP hsftp RO acceso a HDFS sobre HTTPS 
WebHDFS webhdfs RW acceso a HDFS sobre HTTP 
S3 (nativo) s3n Acceso a S3 nativo 
S3 (block) s3 Acceso a S3 en bloques 
Ejemplo: 
hadoop fs -ls file:///home/pepe 
Para usar con HDFS se recomienda el comando hdfs dfs: 
hdfs dfs -help 
HDFS, CSD 1/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interactuar con HDFS 
Tres modos principales: 
1. Usando línea de comandos: comando hdfs dfs 
. Permite cargar, descargar y acceder a los ficheros desde línea de 
comandos 
. Vale para todos los filesystems soportados 
2. Usando el interfaz web 
. Puerto 50070 del Namenode 
3. Programáticamente: interfaz Java 
4. Mediante otras interfaces: WebHDFS, HFTP, Fuse-DFS 
HDFS, CSD 2/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz en línea de comandos (I) 
Algunos comandos de manejo de ficheros 
Comando Significado 
hdfs dfs -ls <path> Lista ficheros 
hdfs dfs -ls -R <path> Lista recursivamente 
hdfs dfs -cp <src> <dst> Copia ficheros HDFS a HDFS 
hdfs dfs -mv <src> <dst> Mueve ficheros HDFS a HDFS 
hdfs dfs -rm <path> Borra ficheros en HDFS 
hdfs dfs -rm -r <path> Borra recursivamente 
hdfs dfs -cat <path> Muestra fichero en HDFS 
hdfs dfs -tail <path> Muestra el final del fichero 
hdfs dfs -stat <path> Muestra estadísticas del fichero 
hdfs dfs -mkdir <path> Crea directorio en HDFS 
hdfs dfs -chmod ... Cambia permisos de fichero 
hdfs dfs -chown ... Cambia propietario/grupo de fichero 
hdfs dfs -du <path> Espacio en bytes ocupado por ficheros 
hdfs dfs -du -s <path> Espacio ocupado acumulado 
hdfs dfs -count <paths> Cuenta nº dirs/ficheros/bytes 
HDFS, CSD 3/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz en línea de comandos (II) 
Movimiento de ficheros del sistema local al HDFS: 
Comando Significado 
hdfs dfs -put <local> <dst> Copia de local a HDFS 
hdfs dfs -copyFromLocal ... Igual que -put 
hdfs dfs -moveFromLocal ... Mueve de local a HDFS 
hdfs dfs -get <src> <loc> Copia de HDFS a local 
hdfs dfs -copyToLocal ... Copia de HDFS a local 
hdfs dfs -getmerge ... Copia mezclando y ordenando 
hdfs dfs -text <path> Muestra el fichero en texto 
HDFS, CSD 4/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz en línea de comandos (III) 
Otros comandos: 
Comando Significado 
hdfs dfs -setrep <path> Cambia el nivel de replicación 
hdfs dfs -test -[defsz] <path> Tests sobre el fichero 
hdfs dfs -touchz <path> Crea fichero vacío 
hdfs dfs -expunge Vacía la papelera 
hdfs dfs -usage [cmd] Ayuda uso de comandos 
Más información: http://hadoop.apache.org/docs/current/hadoop-project-dist/ 
hadoop-common/FileSystemShell.html 
HDFS, CSD 5/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz Java 
API que permite interactuar con los filesystems soportados por Hadoop 
Utiliza la clase abstracta 
org.apache.hadoop.fs.FileSystem 
Otras clases de interés en org.apache.hadoop.fs y 
org.apache.hadoop.io 
Path: representa a un fichero en un FileSystem 
FileStatus: información del fichero 
FSDataInputStream: stream de entrada de datos para un 
fichero, con acceso aleatorio 
FSDataOutputStream: stream de salida de datos para un 
fichero 
IOUtils: Funcionalidades para I/O 
HDFS, CSD 6/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Lectura de ficheros 
Muestra en consola un fichero en HDFS 
public class FileSystemCat { 
public stat ic void main( String [ ] args ) throws Exception { 
String ur i = args [0] ; 
/ / Configuracion por defecto 
Configuration conf = new Configuration ( ) ; 
/ / Objeto para acceder al filesystem HDFS 
FileSystem fs = FileSystem. get (URI . create ( ur i ) , conf ) ; 
/ / InputStream 
FSDataInputStream in = nul l ; 
try { 
/ / Abre el FSDataInputStream con el PATH indicado 
in = fs .open(new Path( ur i ) ) ; 
/ / Copia de un stream a otro , con un buffer de 4096 bytes 
/ / No cier ra los buffers al terminar ( false ) 
IOUt i ls . copyBytes( in , System. out , 4096, false ) ; 
} f inal ly { 
IOUt i ls . closeStream( in ) ; 
}}} 
Ejecución (definir correctamente la variable HADOOP_CLASSPATH 
$ export HADOOP_CLASSPATH="." 
$ hdfs mipaquete.FileSystemCat fichero_en_HDFS 
HDFS, CSD 7/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint FSDataInputStream 
Interfaces implementadas por FSDataInputStream: 
1. Seekable: permite movernos a una posición en el fichero (métdos 
seek 
2. PositionedReadable: permite copiar a un buffer partes de un 
fichero 
HDFS, CSD 8/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Escritura de ficheros 
Dos métodos de FileSystem para abrir los ficheros para escritura: 
1. create: crea un fichero para escritura (crea los directorios padre, 
si es preciso) 
2. append: abre un fichero para añadir datos 
Ambos métodos devuelven un FSDataOutputStream 
FSDataOutputStream no permite seek (solo escritura al final 
del fichero) 
El método hflush() garantiza coherencia, pero supone un 
overhead (en Hadoop v1 método sync()) 
HDFS, CSD 9/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Otras operaciones con ficheros y directorios 
Crear un directorio: 
Método mkdirs de FileSystem 
Información sobre ficheros y directorios: 
Métodos getFileStatus y listStatus de FileSystem 
Clase FileStatus 
Patrones de nombres de ficheros (globbing) 
Método globStatus de FileSystem 
Interfaz PathFilter, para filtrar con expresiones regulares 
Borrar ficheros o directorios, de forma recursiva o no: 
Método delete de FileSystem 
HDFS, CSD 10/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Otras herramientas para mover datos 
Es posible mover datos a/desde HDFS usando otras herramientas 
distcp Transferir datos en paralelo entre dos filesystems Hadoop 
. Ejemplo 
hadoop distcp hdfs://nnode1/foo hdfs://nnode2/bar 
. Aplicación MapReduce map-only 
. Puede usar otros filesystems (HFTP, WebHDFS, etc.) 
. Interesante para mover cantidades masivas de datos 
. Más opciones: hadoop distcp -help 
Apache Flume servicio para recoger, agregar y mover grandes 
cantidades de datos de log a HDFS 
Apache Sqoop transferencia masivas de datos entre bases de datos 
estructuradas y HDFS 
HDFS, CSD 11/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Herramientas para la gestión del HDFS 
Hadoop proporciona un conjunto de herramientas para chequear y 
optimizar el HDFS 
hdfs dfsadmin: optiene información del estado del HDFS 
hdfs fsck: chequeo del filesystem 
sbin/start-balancer.sh: redistribuye bloques entre 
datanodes 
HDFS, CSD 12/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint hdfs dfsadmin 
Algunas opciones (usar hdfs dfsadmin comando) 
Comando Significado 
-help Ayuda 
-report Muestra estadísticas del filesystem 
-setQuota Fija una cuota en el número de nombres en 
un directorio (nº de ficheros/directorios) 
-clrQuota Borra la cuota de nombres 
-setSpaceQuota Fija una cuota en el espacio ocupado en un directorio 
-clrSpaceQuota Borra la cuota de espacio 
-refreshNodes Actualiza los nodos que se pueden conectar 
-safemode fija o chequea el safe mode 
-saveNameSpace en safe mode, salva el filesystem en memoria a un 
nuevo fichero fsimage y resetea el fichero edits 
HDFS, CSD 13/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint hdfs fsck 
Chequea la salud de los ficheros en HDFS 
Chequea los bloques: 
. Over-replicated: con replicas de más 
. Under-replicated: con replicas de menos 
. Misreplicated: replicas mal colocadas 
. Corruptos 
. Missing replicas: sin réplicas 
Ejemplos: 
. Chequea recursivamente todo el HDFS 
hdfs fsck / 
. Informa del número de bloques de un fichero y su localización 
hdfs fsck /user/pepe/foo -files -blocks -racks 
HDFS, CSD 14/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Namenode principal 
Ficheros en dfs.name.dir 
fsimage: imagen del filesystem 
. Contiene información de directorios y ficheros, incluyendo los 
bloques que los forman 
. La localización de los bloques en los Datanodes se guarda en 
memoria 
fstime: timestamp 
. Instante en el que se creo el fsimage 
edits: logs de edicions (edit log) 
. Guarda todas las modificaciones en el filesystem desde fstime 
HDFS, CSD 15/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Inicio del Namenode 
Cuando se inicia el Namenode: 
1. Carga fsimage en memoria y aplica las modificaciones indicadas 
en edits 
2. Con esta imagen reconstruida, crea un nuevo fsimage y vacía 
edits 
3. Pone la marca de tiempo en fstime 
4. Espera a que los Datanodes le envíen información de los bloques 
que tienen 
. Esta información se guarda en memoria 
HDFS, CSD 16/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Modo seguro 
Durante la inicialización, el sistema está en modo seguro (safe mode) 
Solo permite acceso de lectura 
El modo seguro termina 30 segundos después de que el 99.9% de 
los bloques alcancen un nivel mínimo de replicación 
Propiedades ajustables: 
Propiedad Por defecto 
dfs.namenode.replication.min 1 
dfs.namenode.safemode.threshold-pct 0.999 
dfs.namenode.safemode.extension 30 s 
HDFS, CSD 17/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Checkpoint node (aka Namenode secundario) 
fsimage 
fstime 
edits 
5º 
edits.new edits 
fsimage 
edits 
fsimage.ckpt 
fsimage.ckpt 
fsimage 
fstime 
1º 
2º 
2º 
3º 4º 
5º 
Namenode 
Namenode secundario 
1. NN crea edits vacío 
2. SNN obtiene fsimage 
y edits de NN 
3. SNN mezcla los ficheros 
4. SNN transfirere la mezcla 
al NN 
5. NN actualiza fsimage, 
edits y fstime 
HDFS, CSD 18/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint En un sistema ocupado el fichero edits crece demasiado 
El Checkpoint Node se ocupa de mezclar edits y fsimage para 
inicializarlo 
. Proceso costoso en recursos 
. El CPN tiene requisitos de memoria similares a los del NN 
Checkpoint realizado cada hora 
(dfs.namenode.checkpoint.period) o cada 1 M 
transacciones (dfs.namenode.checkpoint.txns) 
Se puede cambiar por un Backup Node 
. Replica completa de la memoria del NN (necesita la misma cantidad 
de memoria) 
. Realiza los checkpoints 
En caso de fallo total del Namenode, se puede recuperar el último 
checkpoint 
Iniciar el demonio del Namenode usando hdfs namenode 
-importCheckpoint 
HDFS, CSD 19/20
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 
1 Filesystems en Hadoop 
2 Interfaz en línea de comandos 
3 Interfaz Java 
4 Herramientas para la gestión del HDFS 
5 Namenode principal y de checkpoint 
6 Otras interfaces a HDFS 
HDFS, CSD
Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Otras interfaces a HDFS 
Otros modos de acceder a HDFS 
WebHDFS: proporciona una API REST para acceder a HDFS 
mediante HTTP 
. Activada mediante la propiedad dfs.webhdfs.enabled del 
fichero hdfs-site.xml del Namenode (por defecto, true) 
HFTP: acceso de solo lectura a HDFS a través de HTTP 
HDFS NFS Gateway: soporta NFSv3 y permite que HDFS sea 
montado como parte del sistema de ficheros local del cliente 
. Permite usar HDFS como un sistema de ficheros UNIX local 
. Permite copiar ficheros de HDFS al sistema de ficheros local y 
viceversa 
. No todas las características están soportadas (p.e. no permite 
random writes ni enlaces duros) 
HDFS, CSD 20/20

Contenu connexe

Tendances

"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform", Artem NikulchenkoFwdays
 
Apache Hive Tutorial
Apache Hive TutorialApache Hive Tutorial
Apache Hive TutorialSandeep Patil
 
Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)
Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)
Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)Faysal Shaarani (MBA)
 
DMM9 - Data Migration Testing
DMM9 - Data Migration TestingDMM9 - Data Migration Testing
DMM9 - Data Migration TestingNick van Beest
 
Designing Scalable Data Warehouse Using MySQL
Designing Scalable Data Warehouse Using MySQLDesigning Scalable Data Warehouse Using MySQL
Designing Scalable Data Warehouse Using MySQLVenu Anuganti
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB rockplace
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation HadoopVarun Narang
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaDavid Albela Pérez
 
What is data engineering?
What is data engineering?What is data engineering?
What is data engineering?yongdam kim
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKKriangkrai Chaonithi
 
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...Edureka!
 
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdf
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdfData & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdf
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdfChris Bingham
 
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...Simplilearn
 
Data Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudData Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudMichael Rainey
 

Tendances (20)

"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko"Building Data Warehouse with Google Cloud Platform",  Artem Nikulchenko
"Building Data Warehouse with Google Cloud Platform", Artem Nikulchenko
 
Apache Hive Tutorial
Apache Hive TutorialApache Hive Tutorial
Apache Hive Tutorial
 
6.hive
6.hive6.hive
6.hive
 
Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)
Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)
Load & Unload Data TO and FROM Snowflake (By Faysal Shaarani)
 
Hadoop Tutorial For Beginners
Hadoop Tutorial For BeginnersHadoop Tutorial For Beginners
Hadoop Tutorial For Beginners
 
SQOOP PPT
SQOOP PPTSQOOP PPT
SQOOP PPT
 
DMM9 - Data Migration Testing
DMM9 - Data Migration TestingDMM9 - Data Migration Testing
DMM9 - Data Migration Testing
 
Designing Scalable Data Warehouse Using MySQL
Designing Scalable Data Warehouse Using MySQLDesigning Scalable Data Warehouse Using MySQL
Designing Scalable Data Warehouse Using MySQL
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
Hadoop
HadoopHadoop
Hadoop
 
Apache Hive
Apache HiveApache Hive
Apache Hive
 
Seminar Presentation Hadoop
Seminar Presentation HadoopSeminar Presentation Hadoop
Seminar Presentation Hadoop
 
Big data and Hadoop
Big data and HadoopBig data and Hadoop
Big data and Hadoop
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con Cloudera
 
What is data engineering?
What is data engineering?What is data engineering?
What is data engineering?
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK
 
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
What is Hadoop | Introduction to Hadoop | Hadoop Tutorial | Hadoop Training |...
 
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdf
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdfData & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdf
Data & Analytics ReInvent Recap [AWS Basel Meetup - Jan 2023].pdf
 
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
Hadoop Training | Hadoop Training For Beginners | Hadoop Architecture | Hadoo...
 
Data Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the CloudData Warehouse - Incremental Migration to the Cloud
Data Warehouse - Incremental Migration to the Cloud
 

En vedette

Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonGrisha Weintraub
 
Big data, map reduce and beyond
Big data, map reduce and beyondBig data, map reduce and beyond
Big data, map reduce and beyonddatasalt
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremGrisha Weintraub
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkEmilio Torrens
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)Sri Prasanna
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Andrei Amador
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoSocialmetrix
 
Big table
Big tableBig table
Big tablePSIT
 
Hadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosHadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosRaul Ochoa
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopDavid Albela Pérez
 

En vedette (20)

Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
Hadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadasHadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadas
 
Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and Comparison
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Casos big data
Casos big dataCasos big data
Casos big data
 
Big data, map reduce and beyond
Big data, map reduce and beyondBig data, map reduce and beyond
Big data, map reduce and beyond
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theorem
 
Spark
SparkSpark
Spark
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation Framework
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
MapReduce en Hadoop
MapReduce en HadoopMapReduce en Hadoop
MapReduce en Hadoop
 
Introducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidianoIntroducción a Apache Spark a través de un caso de uso cotidiano
Introducción a Apache Spark a través de un caso de uso cotidiano
 
The google MapReduce
The google MapReduceThe google MapReduce
The google MapReduce
 
Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1
 
Big table
Big tableBig table
Big table
 
Hadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosHadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datos
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 

Similaire à HDFS

04 Php. Configuracion De Apache
04 Php. Configuracion De Apache04 Php. Configuracion De Apache
04 Php. Configuracion De ApacheJosé M. Padilla
 
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics con Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS KibanaFelix Rodriguez
 
Apache3 mod dav
Apache3 mod davApache3 mod dav
Apache3 mod davjsucarmona
 
Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL ServerEduardo Castro
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementaciónDiego Krauthamer
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basicoYo ♥ Tacna
 
05 Php. Configuracion De Php
05 Php. Configuracion De Php05 Php. Configuracion De Php
05 Php. Configuracion De PhpJosé M. Padilla
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerNombre Apellidos
 
Webinar de Introducción a Hive y Zeppelin
Webinar de Introducción a Hive y ZeppelinWebinar de Introducción a Hive y Zeppelin
Webinar de Introducción a Hive y ZeppelinFederico Leven
 
Nuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software LibreNuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software LibreHollman Enciso
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Miguel Pastor
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 

Similaire à HDFS (20)

Hadoop
HadoopHadoop
Hadoop
 
3. Hadoop
3.  Hadoop3.  Hadoop
3. Hadoop
 
Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
04 Php. Configuracion De Apache
04 Php. Configuracion De Apache04 Php. Configuracion De Apache
04 Php. Configuracion De Apache
 
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
 
Apache3 mod dav
Apache3 mod davApache3 mod dav
Apache3 mod dav
 
HDFS.pdf
HDFS.pdfHDFS.pdf
HDFS.pdf
 
Introducción a polybase en SQL Server
Introducción a polybase en SQL ServerIntroducción a polybase en SQL Server
Introducción a polybase en SQL Server
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
 
Tutorial php basico
Tutorial php basicoTutorial php basico
Tutorial php basico
 
05 Php. Configuracion De Php
05 Php. Configuracion De Php05 Php. Configuracion De Php
05 Php. Configuracion De Php
 
Servidor web apache
Servidor web apacheServidor web apache
Servidor web apache
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
Webinar de Introducción a Hive y Zeppelin
Webinar de Introducción a Hive y ZeppelinWebinar de Introducción a Hive y Zeppelin
Webinar de Introducción a Hive y Zeppelin
 
Nuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software LibreNuestro primer Sitio Web Con Software Libre
Nuestro primer Sitio Web Con Software Libre
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring
 
Guia LAPP
Guia LAPPGuia LAPP
Guia LAPP
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 

Dernier

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Dernier (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

HDFS

  • 1. HDFS Tomás Fernández Pena Máster en Computación de Altas Prestaciones Universidade de Santiago de Compostela Computación en Sistemas Distribuidos Material bajo licencia Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) citius.usc.es
  • 2. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 3. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 4. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Filesystems en Hadoop Hadoop tiene una noción abstracta de los filesystems HDFS es un caso particular de filesystem Algunos filesystems soportados: FS URI Descripción Local file Disco local HDFS hdfs Sistema HDFS HFTP hftp RO acceso a HDFS sobre HTTP HSFTP hsftp RO acceso a HDFS sobre HTTPS WebHDFS webhdfs RW acceso a HDFS sobre HTTP S3 (nativo) s3n Acceso a S3 nativo S3 (block) s3 Acceso a S3 en bloques Ejemplo: hadoop fs -ls file:///home/pepe Para usar con HDFS se recomienda el comando hdfs dfs: hdfs dfs -help HDFS, CSD 1/20
  • 5. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interactuar con HDFS Tres modos principales: 1. Usando línea de comandos: comando hdfs dfs . Permite cargar, descargar y acceder a los ficheros desde línea de comandos . Vale para todos los filesystems soportados 2. Usando el interfaz web . Puerto 50070 del Namenode 3. Programáticamente: interfaz Java 4. Mediante otras interfaces: WebHDFS, HFTP, Fuse-DFS HDFS, CSD 2/20
  • 6. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 7. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz en línea de comandos (I) Algunos comandos de manejo de ficheros Comando Significado hdfs dfs -ls <path> Lista ficheros hdfs dfs -ls -R <path> Lista recursivamente hdfs dfs -cp <src> <dst> Copia ficheros HDFS a HDFS hdfs dfs -mv <src> <dst> Mueve ficheros HDFS a HDFS hdfs dfs -rm <path> Borra ficheros en HDFS hdfs dfs -rm -r <path> Borra recursivamente hdfs dfs -cat <path> Muestra fichero en HDFS hdfs dfs -tail <path> Muestra el final del fichero hdfs dfs -stat <path> Muestra estadísticas del fichero hdfs dfs -mkdir <path> Crea directorio en HDFS hdfs dfs -chmod ... Cambia permisos de fichero hdfs dfs -chown ... Cambia propietario/grupo de fichero hdfs dfs -du <path> Espacio en bytes ocupado por ficheros hdfs dfs -du -s <path> Espacio ocupado acumulado hdfs dfs -count <paths> Cuenta nº dirs/ficheros/bytes HDFS, CSD 3/20
  • 8. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz en línea de comandos (II) Movimiento de ficheros del sistema local al HDFS: Comando Significado hdfs dfs -put <local> <dst> Copia de local a HDFS hdfs dfs -copyFromLocal ... Igual que -put hdfs dfs -moveFromLocal ... Mueve de local a HDFS hdfs dfs -get <src> <loc> Copia de HDFS a local hdfs dfs -copyToLocal ... Copia de HDFS a local hdfs dfs -getmerge ... Copia mezclando y ordenando hdfs dfs -text <path> Muestra el fichero en texto HDFS, CSD 4/20
  • 9. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz en línea de comandos (III) Otros comandos: Comando Significado hdfs dfs -setrep <path> Cambia el nivel de replicación hdfs dfs -test -[defsz] <path> Tests sobre el fichero hdfs dfs -touchz <path> Crea fichero vacío hdfs dfs -expunge Vacía la papelera hdfs dfs -usage [cmd] Ayuda uso de comandos Más información: http://hadoop.apache.org/docs/current/hadoop-project-dist/ hadoop-common/FileSystemShell.html HDFS, CSD 5/20
  • 10. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 11. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Interfaz Java API que permite interactuar con los filesystems soportados por Hadoop Utiliza la clase abstracta org.apache.hadoop.fs.FileSystem Otras clases de interés en org.apache.hadoop.fs y org.apache.hadoop.io Path: representa a un fichero en un FileSystem FileStatus: información del fichero FSDataInputStream: stream de entrada de datos para un fichero, con acceso aleatorio FSDataOutputStream: stream de salida de datos para un fichero IOUtils: Funcionalidades para I/O HDFS, CSD 6/20
  • 12. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Lectura de ficheros Muestra en consola un fichero en HDFS public class FileSystemCat { public stat ic void main( String [ ] args ) throws Exception { String ur i = args [0] ; / / Configuracion por defecto Configuration conf = new Configuration ( ) ; / / Objeto para acceder al filesystem HDFS FileSystem fs = FileSystem. get (URI . create ( ur i ) , conf ) ; / / InputStream FSDataInputStream in = nul l ; try { / / Abre el FSDataInputStream con el PATH indicado in = fs .open(new Path( ur i ) ) ; / / Copia de un stream a otro , con un buffer de 4096 bytes / / No cier ra los buffers al terminar ( false ) IOUt i ls . copyBytes( in , System. out , 4096, false ) ; } f inal ly { IOUt i ls . closeStream( in ) ; }}} Ejecución (definir correctamente la variable HADOOP_CLASSPATH $ export HADOOP_CLASSPATH="." $ hdfs mipaquete.FileSystemCat fichero_en_HDFS HDFS, CSD 7/20
  • 13. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint FSDataInputStream Interfaces implementadas por FSDataInputStream: 1. Seekable: permite movernos a una posición en el fichero (métdos seek 2. PositionedReadable: permite copiar a un buffer partes de un fichero HDFS, CSD 8/20
  • 14. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Escritura de ficheros Dos métodos de FileSystem para abrir los ficheros para escritura: 1. create: crea un fichero para escritura (crea los directorios padre, si es preciso) 2. append: abre un fichero para añadir datos Ambos métodos devuelven un FSDataOutputStream FSDataOutputStream no permite seek (solo escritura al final del fichero) El método hflush() garantiza coherencia, pero supone un overhead (en Hadoop v1 método sync()) HDFS, CSD 9/20
  • 15. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Otras operaciones con ficheros y directorios Crear un directorio: Método mkdirs de FileSystem Información sobre ficheros y directorios: Métodos getFileStatus y listStatus de FileSystem Clase FileStatus Patrones de nombres de ficheros (globbing) Método globStatus de FileSystem Interfaz PathFilter, para filtrar con expresiones regulares Borrar ficheros o directorios, de forma recursiva o no: Método delete de FileSystem HDFS, CSD 10/20
  • 16. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Otras herramientas para mover datos Es posible mover datos a/desde HDFS usando otras herramientas distcp Transferir datos en paralelo entre dos filesystems Hadoop . Ejemplo hadoop distcp hdfs://nnode1/foo hdfs://nnode2/bar . Aplicación MapReduce map-only . Puede usar otros filesystems (HFTP, WebHDFS, etc.) . Interesante para mover cantidades masivas de datos . Más opciones: hadoop distcp -help Apache Flume servicio para recoger, agregar y mover grandes cantidades de datos de log a HDFS Apache Sqoop transferencia masivas de datos entre bases de datos estructuradas y HDFS HDFS, CSD 11/20
  • 17. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 18. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Herramientas para la gestión del HDFS Hadoop proporciona un conjunto de herramientas para chequear y optimizar el HDFS hdfs dfsadmin: optiene información del estado del HDFS hdfs fsck: chequeo del filesystem sbin/start-balancer.sh: redistribuye bloques entre datanodes HDFS, CSD 12/20
  • 19. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint hdfs dfsadmin Algunas opciones (usar hdfs dfsadmin comando) Comando Significado -help Ayuda -report Muestra estadísticas del filesystem -setQuota Fija una cuota en el número de nombres en un directorio (nº de ficheros/directorios) -clrQuota Borra la cuota de nombres -setSpaceQuota Fija una cuota en el espacio ocupado en un directorio -clrSpaceQuota Borra la cuota de espacio -refreshNodes Actualiza los nodos que se pueden conectar -safemode fija o chequea el safe mode -saveNameSpace en safe mode, salva el filesystem en memoria a un nuevo fichero fsimage y resetea el fichero edits HDFS, CSD 13/20
  • 20. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint hdfs fsck Chequea la salud de los ficheros en HDFS Chequea los bloques: . Over-replicated: con replicas de más . Under-replicated: con replicas de menos . Misreplicated: replicas mal colocadas . Corruptos . Missing replicas: sin réplicas Ejemplos: . Chequea recursivamente todo el HDFS hdfs fsck / . Informa del número de bloques de un fichero y su localización hdfs fsck /user/pepe/foo -files -blocks -racks HDFS, CSD 14/20
  • 21. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 22. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Namenode principal Ficheros en dfs.name.dir fsimage: imagen del filesystem . Contiene información de directorios y ficheros, incluyendo los bloques que los forman . La localización de los bloques en los Datanodes se guarda en memoria fstime: timestamp . Instante en el que se creo el fsimage edits: logs de edicions (edit log) . Guarda todas las modificaciones en el filesystem desde fstime HDFS, CSD 15/20
  • 23. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Inicio del Namenode Cuando se inicia el Namenode: 1. Carga fsimage en memoria y aplica las modificaciones indicadas en edits 2. Con esta imagen reconstruida, crea un nuevo fsimage y vacía edits 3. Pone la marca de tiempo en fstime 4. Espera a que los Datanodes le envíen información de los bloques que tienen . Esta información se guarda en memoria HDFS, CSD 16/20
  • 24. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Modo seguro Durante la inicialización, el sistema está en modo seguro (safe mode) Solo permite acceso de lectura El modo seguro termina 30 segundos después de que el 99.9% de los bloques alcancen un nivel mínimo de replicación Propiedades ajustables: Propiedad Por defecto dfs.namenode.replication.min 1 dfs.namenode.safemode.threshold-pct 0.999 dfs.namenode.safemode.extension 30 s HDFS, CSD 17/20
  • 25. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Checkpoint node (aka Namenode secundario) fsimage fstime edits 5º edits.new edits fsimage edits fsimage.ckpt fsimage.ckpt fsimage fstime 1º 2º 2º 3º 4º 5º Namenode Namenode secundario 1. NN crea edits vacío 2. SNN obtiene fsimage y edits de NN 3. SNN mezcla los ficheros 4. SNN transfirere la mezcla al NN 5. NN actualiza fsimage, edits y fstime HDFS, CSD 18/20
  • 26. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint En un sistema ocupado el fichero edits crece demasiado El Checkpoint Node se ocupa de mezclar edits y fsimage para inicializarlo . Proceso costoso en recursos . El CPN tiene requisitos de memoria similares a los del NN Checkpoint realizado cada hora (dfs.namenode.checkpoint.period) o cada 1 M transacciones (dfs.namenode.checkpoint.txns) Se puede cambiar por un Backup Node . Replica completa de la memoria del NN (necesita la misma cantidad de memoria) . Realiza los checkpoints En caso de fallo total del Namenode, se puede recuperar el último checkpoint Iniciar el demonio del Namenode usando hdfs namenode -importCheckpoint HDFS, CSD 19/20
  • 27. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Índice 1 Filesystems en Hadoop 2 Interfaz en línea de comandos 3 Interfaz Java 4 Herramientas para la gestión del HDFS 5 Namenode principal y de checkpoint 6 Otras interfaces a HDFS HDFS, CSD
  • 28. Filesystems en Hadoop Interfaz en línea de comandos Interfaz Java Herramientas para la gestión del HDFS Namenode principal y de checkpoint Otras interfaces a HDFS Otros modos de acceder a HDFS WebHDFS: proporciona una API REST para acceder a HDFS mediante HTTP . Activada mediante la propiedad dfs.webhdfs.enabled del fichero hdfs-site.xml del Namenode (por defecto, true) HFTP: acceso de solo lectura a HDFS a través de HTTP HDFS NFS Gateway: soporta NFSv3 y permite que HDFS sea montado como parte del sistema de ficheros local del cliente . Permite usar HDFS como un sistema de ficheros UNIX local . Permite copiar ficheros de HDFS al sistema de ficheros local y viceversa . No todas las características están soportadas (p.e. no permite random writes ni enlaces duros) HDFS, CSD 20/20