Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de...

Post on 31-Dec-2014

22 views 0 download

Transcript of Agenda ¿Qué es Big Data? ¿Por qué usar Big Data? ¿Quién usa Big Data? Hadoop Arquitectura de...

Agenda

¿Qué es Big Data?¿Por qué usar Big Data?¿Quién usa Big Data?HadoopArquitectura de Hadoop

Big Data¿Qué es Big Data?

Big Data es un concepto que se aplica a toda aquella información que no puede ser procesada o analizada usando procesos o herramientas convencionales debido al enorme volumen de datos sobre el cual hay que trabajar.

¿Por qué usar Big Data?

¿Quién usa Big Data?

HadoopOpen Source

Desarrollado originalmente por Yahoo

Administrado por Apache Software Foundation

Diseñado para trabajar con petabytes de datos

Pensado para implementarse con hardware económico

Ofrece alta disponibilidad

Escala horizontalmente

Muchas tecnologías de desarrollo están basadas en Hadoop

Bueno aceptación en el mercado

Curva de aprendizaje elevada

No es una base de datos

No es real time

The Apache Hadoop software library is a frameworkthat allows for the distributed processing

of large data sets across clusters of computers using a simple programming model

Características Generales

HadoopHadoop se compone por tres elementos principales

HDFSMapReduceHadoop Common

Componentes Principales

HadoopCreado por Doug CuttingGoogle lo introdujo en 2004Consiste en la ejecución de dos procesos separados, Map y Reduce ParalelismoEscalabilidadTolerancia a fallosCurva de aprendizaje elevada

MapReduce

HadoopRecibe como entrada un par (clave, valor) y recupera como salida uno o varios pares (clave-i, valor-i)

k1 v1

k2 v2

k1 v3

k3 v4

k1 v5

k2 v6

k3 v7

k1 v8

k4 v9

C1 vi1 Map

Map

Map

C2 vi2

C3 vi3

MapReduce - Map

HadoopPara cada (clave1, valor1) de entrada recupera una lista de (clave2, valor2)

k1 v1

k2 v2

k1 v3

k3 v4

k1 v5

k2 v6

k3 v7

k1 v8

k4 v9

MEZCLARY

ORDENAR

k1 v1

k2 v2

k3 v4

k4 v9

v3 v5 v8

v6

v7

MapReduce - Map

HadoopRecibe como entrada un par (clave, lista de valores) y recupera como salida un único par (clave, valor)

k1 v1

k2 v2

k3 v4

k4 v9

v3 v5 v8

v6

v7

k1 vf1

k2

k3

k4

vf2

vf3

vf4

Reduce

Reduce

Reduce

Reduce

MapReduce - Reduce

HadoopEs un componente de Hadoop Lee y escribe sobre el sistema de archivos de Hadoop (HDFS)

JobTracker

TaskTracker TaskTracker TaskTracker

Input Job (Map, Reduce, Input)

Data transfer Data transfer

Assign Task Assign Task Assign Task

MapReduce - Arquitectura

HadoopJobTracker: 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 ejecución se pierden

JobTracker

Input Job (Map, Reduce, Input)

Assign Task

MapReduce - Arquitectura

HadoopTaskTracker

Se llaman TaskTrackers a los nodos

Atienden operaciones de Map y Reduce

Tienen slots asignados para Map y para Reduce

Controla las tareas en ejecución

Notifica al JobTracker acerca del estado del nodo y las tareas

Si un TaskTracker falla o se produce un timeout, esa parte del trabajo ese re planifica

TaskTracker TaskTrackerData transfer

Assign Task Assign Task

MapReduce - Arquitectura

HadoopSignifica Hadoop Distributed File SystemEs el sistema de archivos por defecto de HadoopInspirado en GFSEstructurado en bloques (típicamente 64 MB o 128 MB por bloque)Rebalanceo de bloquesEscalabilidadDisponibilidadModelo de seguridad POSIX

HDFS

Hadoop

NameNode

DataNode DataNode DataNode DataNode

Client

TCP/IPNetworking Metadata

Replicated data blocks

HDFS - Arquitectura

Hadoop

NameNodeEs la pieza central del HDFS

Administra el almacenamiento de datos

No almacena datos en si mismo

Las operaciones de Entrada/Salida no pasan a través de él

Hace de intermediario entre el cliente y los DataNodes

Es un Single Point of Failure

HDFS - Arquitectura

Hadoop

DataNodeCientos o miles de DataNodes por cluster

Organizados en racks

Operaciones de Entrada/Salida ocurren sobre el DataNode

Contienen información replicada

Alta tolerancia a fallas

HDFS - Arquitectura

Hadoop

NameNode

JobTracker

DataNode

TaskTracker

DataNode

TaskTracker

DataNode

TaskTracker

Master

Slave Slave Slave

HDFS - Arquitectura

HadoopPermite interactuar con el HDFS a través de CLIEj: $ hadoop fs –copyFromLocal miArchivo /miHDFSDir Algunos comandos son:

cat

copyFromLocal

copyToLocal

du

dus

cp

rmr

mkdir

HDFS - API

Hadoop ¿Quiénes usan Hadoop?