BigData & Hadoop (I) - Definiciones básicas y Esquema de la Configuración Típica

julio 18, 2013

Un elefante amarillo. Se nota que se lo inventó un ingeniero.

Este post pertenece a la serie de BigData & Hadoop. A continuación tenéis el esquema que iré siguiendo de publicación de los Post:


Hoy vamos a dar un repaso a la tecnología Hadoop, donde veremos como funciona HDFS, uno de sus dos componentes principales(HDFS y MapReduce), y daremos los conceptos claves de todos los puntos de unión entre ambos componentes.


1. ¿Qué es Hadoop?

1.1 Definición

Es una tecnología que se emplea para el tratamiento de grandes volúmenes de información, a través de una configuración distribuída en muchas máquinas. Esto nos permite tener acceso a los datos mucho más rápido que con otros sistemas de gestión de datos. Utiliza HDFS para guardar los archivos en las máquinas, que veremos explicado a continuación.

1.2 Hadoop Distributed File System

Es el software encargado de almacenar datos en un Clúster. Los Datos son dividos en diferentes Bloques (como si fueran trozos que contienen un conjunto de datos) y distribuidos a través de los Nodos del Cluster.

Cada Bloque se puede replicar(clonar) muchas veces:
·         Por defecto cada Bloque se replica tres veces.
·         Las réplicas se almacenan en diferentes nodos.
·         Esto nos asegura tanto la confiabilidad como la disponibilidad.

2. Conceptos básicos de HDFS

El sistema de archivos HDFS está escrito en Java, basado en Google GFS. Permite tener como sistemas de archivos nativos a Ext3, xfs…

Permite usar almacenamiento para cantidades de datos masivos, usando computadoras baratas y de baj gama.

HDFS trabaja mejor con archivos de poco tamaño, ya que a menudo vamos a tener millones o miles de millones de archivos. Cada archivo pesa sobre los 100Mb o más.

Los archivos en HDFS están escritos solo una vez, y no se permiten la escritura aleatoria en archivos.

Por otra parte HDFS está optimizado para grandes lecturas de archivos Streaming, a menudo son lecturas aleatorias.

3. ¿Cómo son almacenados los archivos?

Los archivos se dividen en Bloques. Los Datos son distribuidos a través de muchas máquinas cuando son cargados. Un mismo archivo puede tener Bloques diferentes  almacenados en distintas computadoras y esto se debe a que nos proporciona un procesamiento más eficiente para la operación MapReduce.

Los Bloques son replicados a través del mayor número de computadoras, conocidas como DataNodes. Por defecto, se hace una réplica con factor igual a 3. Por ejemplo un mismo Bloque puede estar en tres máquinas distintas.

El Nodo maestro se llamará NameNode y mantendrá la información de qué Bloques hacen un archivo, además de donde están localizados. A esto se le conoce como Metadata.

3.1 Cómo son almacenados los archivos: Ejemplo

NameNode: almacena solamente los Metadatos de los archivos

DataNode: almacena los Bloques actuales. Cada bloque se replica 3 veces en el cluster.
El Dataname
Los Datanodes
- Cliente lee un archivo: se comunica con el NameNode para determiner cuales de los bloques hacen un archive, y en cuales de los DataNodes se almacenan. Entonces se comunica directamente con el DataNode para leer los Datos.

4. Obteniendo datos Dentro y Fuera de HDFS

El API de Hadoop:
· Hadoop fs opera con datos en HDFS:
hadoop fs –copyFromLocal local_dir /hfs_dir

hadoop fs –copyToLocal /hdfs_dir local_dir

Proyectos del Ecosistema:
· Flume: recolecta datos de la generación de logs( WebSites, syslogs, STDOUT)
· Sqoop: extrae y/o inserta datos entre HDFS y Sistemas de Bases de Datos Relacionales
Herramientas de Business Intelligence

5. Anatomía de un Clúster Hadoop

5.1 Los cinco demonios de Hadoop

NameNode: guarda los metadatos para el HDFS

NameNode secundario:
· Realiza las funciones de limpieza para el NameNode
· No es un backup del NameNodo principal

DataNode: Almacena los Bloques de Datos HDFS actuales

JobTracker: gestiona los Jobs de MapReduce y distribuye las tareas individuales.

TaskTracker: es responsable de instanciar y monitorizar los Map individuales y las tareas Reduce

5.2 Configuración básica de un Clúster

Esquema de la configuración

Hasta aquí la lección de hoy. Nos vemos en el siguiente.

Fuente: cloudera

You Might Also Like

0 comentarios

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

Contact Form :: (」゜ロ゜)」