Sei sulla pagina 1di 40

LA SOLUCIN PARA BIG DATA HADOOP

Contenido
1. Almacenamiento de datos (BIG DATA) 2. BIG DATA - problemas en la industria de TI 3. Introduccin a Hadoop

4. HDFS (Hadoop Distributed File System)

MapReduce 6. Complementos de Hadoop 7. Usuarios destacados de Hadoop. 8. Logros 9. Novedades 10. Conclusiones
5.

Qu es Big Data?
Big Data es un concepto que se aplica a toda aquella informacin que no puede ser procesada o analizada usando procesos o herramientas convencionales (Aplicaciones de base de datos) debido al enorme volumen de datos sobre el cual hay que trabajar. Las soluciones de tecnologa de Big Data trae tcnicas de programacin nuevas y ms accesibles para trabajar en almacenamientos de datos masivos con datos tanto estructurados como no estructurados. A partir de 2012, los lmites al tamao de los conjuntos de datos que sean factibles para procesar en tiempo razonable eran del orden de Exabyte de datos (1 exabyte = 1024 petabyte)

Big Data problemas:


Diariamente alrededor de 0,5 petabytes de actualizaciones se

realizan en FACEBOOK incluyendo 40 millones de fotos.


Todos los das, YOUTUBE se carga con videos que se pueden

ver por un ao de forma continua.


Las limitaciones se encuentran debido a los grandes conjuntos

de datos en muchas reas, incluyendo la meteorologa, simulaciones fsicas complejas, y la investigacin biolgica y ambiental. Afectar tambin de bsqueda de Internet, las finanzas y la informtica de negocios.
Los desafos incluyen la captura, recuperacin, almacenamiento,

bsqueda, intercambio, anlisis y visualizacin.

ENTONCES QU PODRA SER LA SOLUCIN PARA BIG DATA

HADOOP

Qu es Hadoop?
Es un proyecto de cdigo abierto escrito en java. Administrado por la Fundacin Apache Software. Los contribuidores de Hadoop trabajan para algunas de las compaas de tecnologa ms grandes del mundo. Esa comunidad diversa y motivada ha producido una plataforma realmente innovadora para la consolidacin, combinacin y compresin de datos a gran escala con el fin de comprender mejor el aluvin de datos. Las base de datos relacionales y Datawarehouse destacan en las cargas de trabajo OLTP y OLAP de datos estructurados. Hadoop, sin embargo, fue diseado para resolver un problema diferente: el anlisis rpido y fiable tanto de los datos estructurados como de datos complejos. Implementado tecnologa fsica, para pasar de los servidores individuales a miles de mquinas, cada uno con un almacenamiento local.

Caractersticas:
Esto es lo que hace que sea especialmente til:

Escalable: Es capaz de almacenar de forma fiable petabytes de proceso. (Mas de 4000 nodos)
Econmico: Distribuye los datos y el procesamiento a travs de clster de computadores comnmente disponibles (en miles). Eficiente: Mediante la distribucin de los datos, se puede procesar en paralelo en los nodos donde se encuentran los datos. Confiable: Mantiene automticamente mltiples copias de datos y automticamente vuelve a desplegar tareas de recopilacin de datos en caso de error.
Dnde obtengo el software para trabajar en Big Data?" La distribucin libre de Hadoop lo encuentra en el sitio web de Cloudera llamado CDH (para distribucin de Cloudera incluyendo Hadoop). Esto est disponible como una imagen VMWare.

Componentes Principales:
Hadoop se compone por tres elementos principales: Hadoop Common Otros complementos: Hue Mahout Oozie Sqoop Pig/Hive Hbase Zookeeper HDFS

MapReduce

Chukwa

Hadoop Commons:
Proporciona acceso a los sistemas de ficheros soportados por

Hadoop.
El paquete Common Hadoop contiene los archivos JAR

necesarios y scripts necesarios para iniciar Hadoop.

El paquete tambin proporciona el cdigo fuente, documentacin, y una seccin de la contribucin que incluye proyectos de la Hadoop Comunidad.

Hadoop Distributed File System (HDFS)


Si tiene ms de 4000 computadoras trabajando en sus datos, entonces ms vale que distribuya sus datos. HDFS hace esto para usted, sistemas de archivos que manejan el almacenamiento a travs de una red de mquinas se llaman SISTEMAS DE ARCHIVOS DISTRIBUIDOS. Hadoop HDFS utiliza, un sistema de archivos basado en GFS (Sistema de archivos de Google), un sistema de archivos compartido. Arquitectura HDFS divide los archivos en bloques grandes (tpicamente 64 MB o 128 MB por bloque) distribuidos a travs de servidores de datos esto es configurable.

HDFS Caractersticas:
Altamente tolerante a fallos. Alto rendimiento. Apropiada para aplicaciones con grandes conjuntos de datos. Streaming de acceso a los datos del sistema de archivos. Puede ser construido con hardware comercial. Reduce el impacto de un corte de energa. Tiene una NameNode y DataNodes.

HDFS Arquitectura:
MAESTRO (NAMENODE): Un servidor maestro que gestiona el espacio de nombres del sistema de archivos y los metadatos adems regula el acceso a los archivos de los clientes. La NameNode hace que las operaciones de espacio de nombres del sistema de archivos como abrir, cerrar, cambiar el nombre, etc de los archivos y directorios disponibles a travs de una interfaz RPC. Tambin determina la asignacin de bloques de DataNodes. ESCLAVOS (DATANODES): mantener tres copias de cada bloque de datos, gestionan el almacenamiento conectado a los nodos que se ejecutan. La DataNodes son responsables de atender las solicitudes de lectura y escritura de los clientes del sistema de archivos, sino que tambin realizan la creacin de bloques, eliminacin, y la replicacin segn la instruccin de la NameNode.

HDFS Arquitectura:
NAMENODE: Es el engranaje central del HDFS. Administra el almacenamiento de datos.

No almacena datos en si mismo.


Las operaciones de Entrada/Salida no pasan a travs de l. Hace de intermediario entre el cliente y los DataNodes.

HDFS Arquitectura:
DATANODE: Cientos o miles de DataNodes por clster (grupo de computadoras) Organizados en racks. Operaciones de Entrada/Salida ocurren sobre el DataNode. Contienen informacin replicada entre ellos. Alta tolerancia a fallas.

La comunicacin entre DataNodes es rpida de acuerdo al ancho de banda.

HDFS Arquitectura:
Client

TCP/IP Networking

NameNode

Metadata

DataNode

DataNode

DataNode

DataNode

Replicated data blocks

HDFS: Sistema de archivos Hadoop Distributed


Cliente solicita los metadatos acerca de un archivo de NameNode Los datos se sirve directamente de DataNode

APLICACIN Client HDFS

HDFS NAMENODE (Nombre de archivo, id bloque) Espacio de nombres de archivos / User/css534/input

(Id bloque, la ubicacin del bloque)

bloque 3df2

instrucciones (Id bloque, rango de bytes) HDFS DataNode datos de bloque


Sistema de archivos local de Linux

estado HDFS DataNode


Sistema de archivos local de Linux

...

...

13

Archivo de lectura /escritura en HDFS :


Leer el archivo
2. conseguir ubicaciones de los bloques 1. abierto

Escribir archivo
Distributed FileSystem FSData InputStream
1. crear

HDFS cliente
JVM cliente nodo cliente

3. leer 6. cerca

NameNode
nombre de nodo

HDFS cliente
JVM cliente nodo cliente

Distributed FileSystem FSData OutputStream

2. crear

3. escribir 7. cerca

NameNode
8. completo

nombre de nodo

4. obtener una lista de 3 nodos de datos

4. leer desde el nodo ms cercano

5. leer desde el segundo nodo ms cercano

5. escribir paquetes 6. paquete ACK

DataNode

DataNode

DataNode

DataNode

DataNode

DataNode

nodo de datos

nodo de datos

nodo de datos

nodo de datos

nodo de datos

nodo de datos

Si un nodo de datos se estrell, se elimina el nodo se estrell, el bloque actual recibe un identificador nuevo, as como para eliminar los datos parciales de los nodos que han fallado ms tarde, y NameNode asigna un otro nodo.

MapReduce:
Es el nombre dado a la combinacin de dos procesos separados necesarios para la extraccin de valores de un gran nmero de orgenes de datos distintos. La parte MAP funciona como extractor y asigna valores a determinadas claves para un nico documento. La parte REDUCE realiza la funcin de acumulacin y combina las claves de mltiples documentos para crear un valor reducido (combinado) nico para cada clave a partir de los mltiples valores generados. Un trabajo grande puede dividirse en varias tareas, razn por la cual se pueden emplear varias mquinas para resolver cada una de estas. Debido a que el trabajo a realizar puede ser dividido en varias tareas y a su vez estas tareas pueden ser ejecutadas en paralelo en diversas mquinas diferentes se provee un enorme poder de procesamiento, lo cual brinda una gran escalabilidad horizontal. Como los datos se encuentran replicados en las mquinas (nodos) que conforman el clster tiene una alta tolerancia a fallas ya que si uno de los nodos deja de estar disponible por algn motivo, otro nodo puede ocupar su lugar.

Caractersticas:
Creado por Doug Cutting Google lo introdujo en 2004 y a posteriori en 2006 por Yahoo para dar soporte al procesamiento paralelo de datos. Consiste en la ejecucin de dos procesos separados, Map y Reduce Paralelismo (procesa varios datos al mismo a tiempo) Escalabilidad (Puede manejar y almacenar petabytes de forma segura) Tolerancia a fallos Curva de aprendizaje elevada

Interfaces web de monitorizacin.

Esquema del MapReduce:

Map:
C1 es una clave entrante que puede ser un archivo (Vi1) luego pasa por un proceso MAP que divide esos valores del archivo en varias claves (K1)
k1 v1 C1 vi1
Map

k2 v2 k1 v3 k3 v4

C2 vi2

Map

k1 v5 k2 v6 k3 v7 C3 vi3
Map

k1 v8
k4 v9

Map:
K1 es una clave que tiene un valor V1 todos los valores se ordenan de acuerdo a cada clave.
k1 k2

v1 v2
k1

v1 v3 v5 v8

k1 v3
k3

v4

k1 v5
k2 k3

MEZCLAR Y ORDENAR

k2

v2 v6

v6 v7

k3

v4 v7

k1 v8
k4

v9

k4

v9

Map:
Recibe como entrada un par (clave, lista de valores) y recupera como salida un nico par (clave, valor)

k1

v1 v3 v5 v8

Reduce

k1

vf1

k2

v2 v6

Reduce

k2

vf2

k3

v4 v7

Reduce

k3

vf3

k4

v9

Reduce

k4

vf4

Nmero de palabras sobre un determinado conjunto de datos

Map y Reduce el uso de mtodos:


Funcin Map

De funcin Reducir

Ejecutar este programa como un Trabajo MapReduce

MapReduce Arquitectura:
Tiene dos componentes importantes: JobTracker TaskTracker
Input Job (Map, Reduce, Input)

JobTracker

Assign Task

Assign Task

Assign Task

TaskTracker
Data transfer

TaskTracker
Data transfer

TaskTracker

MapReduce Arquitectura:
JOBTRACKER: Planificador de tareas

Registra los trabajos pendientes.


Asigna las tareas a los nodos. Mantiene los trabajos cerca de los nodos. Si falla el JobTracker los trabajos pendientes de ejecucin se pierden
Input Job (Map, Reduce, Input)

JobTracker

Assign Task

MapReduce Arquitectura:
TASKTRACKER:

Se llaman TaskTrackers a los nodos.


Atienden operaciones de Map y Reduce. Tienen slots asignados para Map y para Reduce (numero de tareas que puede aceptar.)

Controla las tareas en ejecucin.


Notifica al JobTracker acerca del estado del nodo y las tareas. Si un TaskTracker falla o se produce un timeout, esa parte del trabajo es replanificada.
Assign Task

Assign Task

TaskTracker
Data transfer

TaskTracker

MapReduce Arquitectura:
Master

JobTracker
NameNode

Slave

Slave

Slave

TaskTracker DataNode

TaskTracker DataNode

TaskTracker DataNode

Arquitectura HDFS Y MAPREDUCE:

Complementos de Hadoop:
HUE: Interfaz web para simplificar el uso de Hadoop. MAHOUT: minera de datos sobre Hadoop (DATAMINIG). OOZIE: Planificadores de workflows para gestionar trabajos Hadoop. CHUKWA: Sistema de recogida de datos para monitorizar grandes sistemas distribuidos (HDFS). SQOOP: (ETL) Transferir datos entre Hadoop y BD relacionales. PIG: Lenguaje data-flow para facilitar la programacin MapReduce. HIVE: Infraestructura de data-warehouse construida sobre Hadoop. para proporcionar el resumen de datos, consultas y anlisis.

Complementos de Hadoop:
HBASE: BD oficial Hadoop, ejecuta BD no-relacional (NoSQL) ZOOKEEPER: Servicios centralizado basados en clster (es decir, que se ejecutan en paralelo) y que necesitan estar Sincronizados

Usuarios destacados de Hadoop:

Yahoo!: Ms de 100.000 CPUs en - 20.000 equipos con Hadoop, el mayor clster: 2.000 nodos (2 * cajas 4 CPU con disco de 4TB cada uno), que se utiliza para apoyar la investigacin para sistemas de anuncios y Web Search. AOL: Se utiliza para una variedad de cosas que van desde la generacin de estadsticas de ejecutar algoritmos avanzados para hacer el anlisis del comportamiento y la orientacin; tamao de clster es de 50 mquinas, Intel Xeon, procesadores dobles, de doble ncleo, cada uno con 16 GB de RAM y 800 GB de disco duro nos da una total de 37 TB de capacidad HDFS. Facebook: Para almacenar las copias de las fuentes de datos y registros dimensin interna y lo utilizan como una fuente de informacin para el anlisis y / aprendizaje de mquinas; 320 mquina con cluster 2.560 ncleos y alrededor de 1,3 PB de almacenamiento de datos. FOX Interactive Media: 3 X 20 mquina con cluster (8 ncleos, almacenamiento 2TB); 10 maquinas con cluster (8 ncleos , almacenamiento 1TB); Se utiliza para el anlisis de registros, la minera de datos y aprendizaje automtico.

Universidad de Nebraska Lincoln: un tamao mediano Hadoop cluster (200TB) para almacenar y brindar los datos

Usuarios destacados de Hadoop:


Universidad Cornell Lab Web: La generacin de grficos web sobre 100 nodos (procesadores Xeon dual 2.4GHz, 2 GB de RAM, 72 GB de disco duro) EBay - 532 cluster node y Amazon - 100 nodos, Adobe - 80 sistema de nodos

Logros:
El Apache Hadoop proyecto de software de cdigo abierto gan el primer premio en 2011 en los PREMIOS A LA INNOVACIN MEDIAGUARDIAN.

Doug Cutting, uno de los fundadores de Apache Hadoop y arquitecto jefe de CLOUDERA - el proveedor lder de software y servicios basados en Apache Hadoop - dijo: Empujar Apache Hadoop en la gestin de datos mediante la potenciacin de las empresas para dar sentido a sus cada vez ms grandes y diversas colecciones de datos."

Logros:
Julio 2012 - Hadoop gana TERABYTE ORDENAR BENCHMARK. Todos los benchmarks miden el tiempo para ordenar distinta cantidad de registros. Para repartir la carga utilizaron un cluster gigante coordinado con Apache Hadoop. De esta manera, Apache Hadoop logr ordenar 1 Terabyte de datos en 62 segundos, y 1 Petabyte en 16.25 horas. Es la primera vez que un producto de software libre logra ganar esta competencia. Los mejores resultados:
BYTES 500,000,000,000 1,000,000,000,000 100,000,000,000,000 1,000,000,000,000,000 NODOS 1406 1460 3452 3658 TIEMPO 59 segundos 62 segundos 173 minutos 975 minutos

De esta manera, Apache Hadoop logr el record al ordenar 500GB en 1 minuto (categora Minute del benchmark SortGray), y logr tambin el record de 0.578 TB/minuto al ordenar 100TB en 173 minutos (categora Gray del benchmark SortGray).

Novedades:
Hadoop 2.0 ser anunciado prximamente, y un nuevo componente de la estructura YARN en su ncleo promete llevar a Hadoop ms all de MapReduce, mejores consultas SQL, anlisis de grficas y procesamiento de flujo. YARN es descrito como un tipo de sistema operativo distribuido a gran escala para aplicaciones de Big Data la tarea principal es la de asignar recursos en todas las aplicaciones que se ejecutan sobre Hadoop para permitirles ejecutarse de forma simultnea y con niveles consistentes de servicio para los usuarios finales.

Conclusiones:
Hadoop es un framework muy potente y realmente

sencillo de utilizar, permite reducir el trfico en la captura, almacenamiento, bsqueda, intercambio, anlisis y visualizacin.
Una

enorme cantidad de datos puede ser almacenada y grandes clculos se podra hacer en un nico compuesto con plena seguridad y proteccin. Hadoop pueda ser utilizado de manera eficiente.

Requiere mayor cantidad de nodos y datos para que

EJEMPLO DE BIGDATA - HADOOP

Gracias.

Potrebbero piacerti anche