SlideShare uma empresa Scribd logo
1 de 94
Baixar para ler offline
GPUL 
XIII Xornadas Libres 
Creación de un clúster de 
Hadoop con Cloudera 
David Albela Pérez (@elmadno)
Licencia 
Creación de un clúster de Hadoop con Cloudera by David 
Albela Pérez is licensed under a Creative Commons 
Reconocimiento-CompartirIgual 4.0 Internacional License.
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA - Resumen 
Computación distribuida 
● Procesamiento paralelo en varios cientos o miles de nodos 
 Frameworks como Open MPI o PVM 
● Enfocados a distribuir la carga de procesamiento 
 Nodos con alto poder computacional 
 Sistemas separados del almacenamiento 
Problemas 
● Cuello de botella con gran cantidad de datos 
● Hardware caro y programas complejos con sincronización
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA - Resumen 
Grace Murray Hopper 
● “In pioneer days they used 
oxen for heavy pulling, and 
when one ox couldn't 
budge a log, they didn't try 
to grow a larger ox” 
● “We shouldn't be trying for 
bigger computers, but for 
more systems of 
computers.”
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema - HA - Resumen 
Hadoop 
● Inspirado en los papers de GFS y MapReduce 
● Escalabilidad horizontal 
 Comunicación entre nodos mínima 
 Añadir más nodos incrementa la capacidad y rendimiento 
● Construido para commodity hardware
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hadoop 
● Plataforma Open Source Java para soluciones Big Data 
● Doug Cutting (Lucene, Nutch) 
● Componentes 
 Commodity Hardware 
 Sistema de ficheros distribuido (HDFS) 
 Paradigma MapReduce 
● Amplio ecosistema (Sqoop, Hive, Pig, Hbase, Mahout, etc.)
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Historia 
● 2003, Paper Google File System 
● 2004, Paper MapReduce publicado por Google 
● 2004, Doug Cutting trabajando en Google crea la base de 
Hadoop para Nutch 
● 2006-2008, Doug Cutting se une a Yahoo (web search index) 
● Marzo 2006, Apache Hadoop 0.1.0 
 Hadoop es el nombre del peluche de su hijo, un elefante 
amarillo
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Historia 
● 2007-2008, The New York Times “convierte” 150 años de 
historia con Amazon EC2/S3 y Hadoop 
– TIFFs → PDF 
● 4TB + 1.5TB en S3 
● 11M artículos 
● 100 instancias 
● 24 horas 
– Timemachine 
 405.000 TIFF+XML → PNG+JSON 
 3,3M de artículos en SGML 
 36 horas
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Historia 
● 2009, 3 ingenieros crean Cloudera, más tarde se une Doug 
Cutting y otros ingenieros como Tom White 
● 2010, Framework MapReduce algormitmos genéticos 
● 2012, Informe Gartner 4.4M Jobs for Big Data 
● 2014, A lot of Startups for Big Data 
● ScalingData 'Killer-app' (email, mensajería instantánea, 
videojuegos online) 
● SNAP, AmpLAB (Berkeley)
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
SNAP, ampLab (Berkeley) 2014 
● Secuenciador de alineamiento de ADN Open Source 
● http://snap.cs.berkeley.edu/ 
● Profesor David Patterson (Berkeley, ampLab) 
● RISC, RAID 
● Apache Spark (alternativa MapReduce x100 in memory) 
● Integrado con Hadoop 2 YARN 
● Caso de Joshua Osborn 
● En solo 90 min. aisló elementos del ADN 
● El 0.2% pertenecían a una bacteria extraña 
● Búsqueda para cura contra el cáncer
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
SNAP
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Cloudera 
● Soporte de Apache Hadoop a empresas 
● Certificaciones y cursos para Hadoop 
● Modelo de negocio freemium 
● CDH (Cloudera Distribution Including Apache Hadoop) 
● Distribución de Open Source 
● Paquetes RPM y Deb (Debian/Ubuntu/Suse) 
● Cloudera Manager
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Cloudera CDH
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Cloudera Standard
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HortonWorks 
● Alternativa a Cloudera 
● Fundada en 2011 
● Servicio HDP análogo a CDH de Cloudera 
● Certificaciones 
● Partners como Yahoo, Microsoft, Red Hat o SAP 
● Integración y soporte en muchas aplicaciones
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HortonWorks
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Mercado 
● Cloudera y HortonWorks: 
líderes de mercado 
● Informe Forrester Research 
Q1 2014: 
● Big Data Hadoop 
Solutions
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Arquitectura
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Arquitectura 
● Almacenar y procesar los datos en los mismos nodos 
● Planificación de trabajo “data locality” 
● Procesamiento en el mismo nodo donde están los datos 
● Separación de los datos bloques (64-128 Mbytes) 
● 1000 discos (210MB/s) en paralelo 
● Lectura 3TB en 15 seg. 
● Replicación 
● Mismo bloque replicado en 3 nodos
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Arquitectura 
● Programación en Java al igual que Hadoop 
● Soporta otros lenguajes (Python, PHP, C, etc.) 
● Simplificación del procesamiento 
● Trabajo Map(k1, v1) → list(k2, v2) 
● Recopilación intermedia y envío 
● Trabajo Reduce(k2, list(v2)) → list(v3)
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Componentes HDFS 
● NameNode 
● Nodo maestro de HDFS 
● Almacena Metadatos 
– FSImage (checkpoint) 
– Edits (edit logs) 
● DataNode 
● Nodos esclavos 
● Almacenan los bloques
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Componentes HDFS 
Secundary NameNode 
● Liberar carga al NameNode 
● Copia de respaldo de FSImage 
– Siempre en nodo alternativo a NameNode 
● Aplica los últimos cambios en FSImage 
– Cada hora 
– Cada 64MBytes
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Componentes MapReduce 
JobTracker 
● Gestor de los trabajos MapReduce 
● Hasta 4 intentos por cada trabajo 
– En cada nodo que contiene el dato 
● Registra el progreso de los trabajos 
Tasktracker 
● Ejecuta un trabajo sobre un bloque 
● Intenta lanzarse sobre el DataNode que tiene el dato
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Alta Disponibilidad 
● NameNode Active 
● NameNode Standby 
– Sustituye al SecondaryNameNode pero con HA 
● JournalNode 
– Almacenan los metadatos de los NameNode 
– Al menos 1/3 deben estar levantados 
● ZooKeeper 
– Cuidador del ecosistema de Hadoop 
– Habilitar Failover en HA 
● Por defecto es manual
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Requisitos 
● NameNode/Jobtracker 
– Requiere gran cantidad de memoria 
● 8-16 Gb 
● DataNode/Tasktracker 
– 2-4 discos SAS/SSD 
● ¡Importante! No RAID 
– Dual-Quad core 
● 2 tareas por Tasktracker
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Requisitos 
● Imágenes VM de Cloudera 
– http://www.cloudera.com/content/cloudera/en/downloads/qu 
ickstart_vms/cdh-4-7-x.html 
● VirtualBox, KVM o VMWare Player 
– En el taller usaremos VirtualBox 
● OS 64-bit 
– 2 cores 
– 4Gb-8Gb RAM 
– 15Gb-30 Gb espacio libre en disco
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
4 VMs 
● Configuración básica 
– 768MB-1536 MB de RAM 
– 1 core 
● NAT en eth1 
● Hostname: eth2 (internal network) 
– elephant: 192.168.0.1/24 
– tiger: 192.168.0.2/24 
– horse: 192.168.0.3/24 
– monkey: 192.168.0.4/24
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Importar VM base
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Importar VM base
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Importar VM base
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Adaptador de Red
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Instalación 
● Configuración idioma teclado y zona horaria 
● Actualización de paquetes 
● $ yum update -y 
● Instalación de vi mejorado (opcional) 
● $ yum install nano vim emacs -y 
● Detener los servicios de Cloudera Manager 
● Servicio web parando todos los procesos 
● Eliminar servicio en arranque
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Eliminar Cloudera Manager
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Eliminar pseudo-distribuido 
● Cloudera Quickstart incluye paquetes pseudo-distribuidos 
– $ sudo yum remove -y hadoop-0.20-conf-pseudo 
● Crear configuración base inicial 
– $ sudo mv /etc/hadoop/conf /etc/hadoop/conf.alternatives 
– $ sudo mv /etc/hadoop/conf.empty /etc/hadoop/conf 
– $ touch /etc/hadoop/conf/hadoop-env.sh
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Re-instalar paquetes 
● Es necesario reinstalar los paquetes básicos 
● Incluyen la configuración de ficheros y servicios 
● $ sudo yum reinstall -y hadoop-hdfs-namenode hadoop-hdfs-datanode 
hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-secondarynamenode 
hadoop-0.20-mapreduce-jobtracker 
● Habilitar arranque de los servicios 
● $ for s in `cd /etc/init.d/; ls hadoop*`; do sudo chkconfig $s on; 
done
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Configuración de Red 
● Configurar tarjeta de red eth1 
● Configuración por defecto (NAT) 
● Gestionada por Network-Manager 
– /etc/sysconfig/network-scripts/ifcfg-eth1
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Configuración de Red 
● Configurar tarjeta de red eth2 
– /etc/sysconfig/network-scripts/ifcfg-eth2
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Configuración de Red 
● Configurar hosts del cluster 
– /etc/hosts 
● 192.168.1.1 elephant 
● 192.168.1.2 tiger 
● 192.168.1.3 horse 
● 192.168.1.4 monkey 
● Configurar hostname 
– /etc/sysconfig/network 
● NETWORKING=yes 
● HOSTNAME=elephant
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Clonar VM 
● Apagar elephant 
● System → Shut down 
● Clonar desde VirtualBox 
● Machine → Clone... 
● Marcar “Reinitialize the MAC address of all network cards” 
● Full clone (copiar los discos)
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HDFS (Hadoop Distributed FileSystem) 
● Separa los datos en bloques (64-128 Mbytes) 
● Acceso secuencial 
● Única escritura y lectura secuencial 
● Append (HBase) 
● NameNode guarda los metadatos 
● Nombre fichero, permisos, fechas 
● Block-ids: bloques del fichero y que DN lo tienen 
● DataNode almacena los bloques 
● Replicación x3
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Características 
● Data locality 
● Rack-aware 
● Replica dos bloques en otro mismo rack 
● Switch-aware 
● x máquinas en switches distintos, réplicas en distintas LAN 
● Anatomy File Read 
● Hadoop pide información al NameNode 
● El NN devuelve los DN en orden de cercanía
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
NameNode 
● Los bloques nunca pasan por el NameNode 
● Se transfieren entre DataNodes o al cliente 
● Memory Allocation 
● Memoria suficiente en el NN para guardar los metadatos: 
– 150-200 bytes / ítem 
– 1 ítem / file metadata 
– 1 ítem / bloque 
● ¿Por qué Hadoop es óptimo para ficheros grandes? 
– Fichero 1Gb / 128Mb por bloque = 8 bloques = 9 ítems 
– Fichero 1Gb / 1Mb por bloque = 1025 ítems
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
NameNode 
● Si se cae, no hay acceso al HDFS 
● Hadoop soporta Federación de NameNode 
– Útil si no se tiene suficiente memoria física. 
● Almacena Metadatos 
– FSImage (checkpoint) 
– Edits (edit logs) 
● Opción recomendada Alta Disponibilidad 
– NameNode active y standBy 
– JournalNodes (al menos 3) 
– Failover automático con ZooKeeper
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
DataNode 
● Almacenamiento 
● Bloques de datos 
● Pueden ir en distintos discos 
– Sin RAID 
● Guarda un checksum del bloque 
– Verificación del bloque: lectura 
● Enviá heartbeart al NN para indicar disponibilidad 
● Si en 10 min. el NN no detecta un DN → DN muerto 
– NN solicita réplicar los bloques del DN muerto 
– El bloque pasa de DN a DN, nunca por NN
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Configuración 
● core-site.xml 
● fs.default.name: hdfs://elephant:8020 
– Identifica el NameNode 
● hdfs-site.xml 
● dfs.name.dir: /disk1/dfs/nn,/disk2/dfs/nn 
– Ruta de los metadatos de NameNode 
● dfs.data.dir: /disk1/dfs/dn,/disk2/dfs/dn 
– Ruta de los datos de DataNode (más checksum) 
● dfs.http.address: elephant:50070 
– Servicio web información HDFS
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Otros parámetros 
● core-site.xml 
● hadoop.tmp.dir 
– Ruta temporal, por defecto /tmp/hadoop-${user-hadoop} 
● hdfs-site.xml 
● dfs.block.size 
– Tamaño bloque de datos, por defecto 64Mb 
● dfs.replication 
– Número de bloques replicados, por defecto 3 
● dfs.datanode.du.reserved 
– Espacio reservado por disco no ocupado por los bloques de 
HDFS en los DataNodes. Recomendable al menos 10Gb
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Iniciar servicios 
● elephant 
● Namenode 
– # service hadoop-hdfs-namenode start 
● tiger 
● Secundary NameNode 
– # service hadoop-hdfs-secundarynamenode start 
● All nodes 
● DataNode 
– # service hadoop-hdfs-datanode start
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Características 
● Paralelización automática y distribuída 
● Tolerancia a fallos 
● Herramientas de monitorización 
● Soporte para cualquier lenguaje con Hadoop Streaming 
● Los datos intermediarios se escriben en el disco local 
● Terminología 
– Job: Mapper, Reducer y una lista de entradas 
– Task: Unidad de trabajo 
– Un Job se divide en Tasks
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
MapReduce
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Fases 
● Mapper 
● Input: datos de origen 
● Output: clave, valor 
● Tasks: Nº de bloques 
● Shuffle & sort 
● Reordenación de los datos salida de Map 
● Reduce 
● Input: salida Mapper reordenados 
● Output: clave, valor resultado esperado 
● Tasks: Las define el desarrollador
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Componentes 
● JobTracker 
● Gestiona los trabajos MapReduce 
● Si una tarea falla, se encarga de lanzarla de nuevo 
● Soporta HA 
– JobTracker Activo y Standby 
● TaskTracker 
● Ejecuta las tareas MapReduce en un nodo 
● Cada TaskTracker ejecuta por defecto 2 tareas 
● Envía heartbeats al JobTracker
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Versiones 
● MRv1 
● MapReduce clásica 
● Normalmente un solo JobTracker 
● Limitación de 1000 nodos para el JobTracker 
● MRv2 / YARN 
● JobTracker → Resource Manager 
● TaskTracker → NodeManager 
– Actúa como JobTracker en el nodo 
● Ventaja: RM solo reparte la carga entre los distintos nodos
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Configuración 
● mapred-site.xml 
● mapred.local.dir 
– Rutal local para fichero intermediarios 
● mapred.job.tracker 
– Especifica el JobTracker 
● mapred.system.dir 
– Ruta de ficheros compartidos durante la ejecución 
● mapreduce.jobtracker.staging.root.dir 
– Ficheros de configuración en HDFS
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Otros parámetros 
● mapred-site.xml 
● mapred.tracktracker.map.task.maximum 
– Nº máximo de tareas Map (40-60) 
● mapred.tracktracker.reduce.task.maximum 
– Nº máximo de tareas Reduce (1.5 * cores)
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Iniciar servicios 
● horse 
● JobTracker 
– # service hadoop-0.20-mapreduce-jobtracker start 
● All nodes 
● TaskTracker 
– # service hadoop-0.20-mapreduce-tasktracker start
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Ecosistema
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Ecosistema 
● Data Integration 
● Flume, Sqoop 
● Batch Processing 
● Hive, Pig 
● Database NoSQL 
● HBase 
– NoSQL column-oriented 
● Machine Learning & Data Mining 
● Mahout
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Flume 
● Integración de Datos 
● Cada servidor enviar sus logs a unos o varios agentes Flume 
● Soporta encriptado y compresión 
● Agente 
● Almacena los datos en memoria 
● Envía a HDFS cuando alcanza un tamaño 
● Canales de memoria 
● Establece tamaño caché 
● Comunica Agente con la fuente origen y el HDFS 
– Data Serialization Avro, Thift
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Flume
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Sqoop 
● Integración de Datos 
● BD relacional ↔ HDFS 
● Soporte JDBC 
– Descargar el driver para el SGBD 
● Para MySQL /usr/share/java/mysql-connector-java.jar 
– Conectores alternativos (Netezza, Teradata, etc.) 
● Sqoop ver. 2 
● Funciona como servicio 
– Disponible desde varios clientes 
– Requiere del driver JDBC en los clientes 
– Interfaz web: WebHDFS o Http FS
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Sqoop 
● Instalación 
● $ yum install -y sqoop 
● ls /usr/share/java/mysql-connector-java.jar 
● Importación tabla de MySQL 
● $ sqoop import  
--connect jdbc:mysql://localhost/myDatabase  
--table myTable --fields-terminated-by 't'  
--username myUser --password myPassword
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hive 
● Desarrollado en Facebook para análisis de datos 
● HiveQL 
● Consultas SQL sobre HDFS 
– Selects con Joins, Group by, Having, Order By 
● Lanza trabajos MapReduce 
● MetaStore 
● Gestor de metadatos en DB relacional (MySQL, Derby) 
● MetaStore Local 
● Shared MetaStore 
– Múltiples usuarios ejecutan Hive compartido
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hive
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hive 
● Instalación 
● $ sudo yum install -y hive mysql-server libmysql-java 
● Crear MetaStore 
– mysql> create database metastore; 
– Schema 
/usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema- 
0.10.0.mysql.sql; 
● Configurar Hive 
– /etc/hive/conf/hive-site.xml
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Pig 
● Desarrollado por Yahoo! Para análisis de datos 
● Alternativa a Hive 
● No usa sentencias SQL 
● Pig Latin 
● Lenguaje de control de flujo 
● Define bolsas a través del intérprete Grunt 
● Soporta JOINs y filtros 
● Sentencia STORE almacena el resultado en HDFS
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Pig 
● Instalación 
● $ yum install -y pig 
● Ejemplo 
● $ pig 
● Definir bolsas: 
– grunt> texts = LOAD 'binary_texts' AS (id_text:int, 
binary_file_id:int, english:chararray, spanish:chararray, 
created_date:chararray); 
– grunt> files = LOAD 'binary_files' AS (id_file:int, 
file:chararray, desc:chararray);
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HBase 
● Bases de datos NoSQL 
– Orientado a columnas 
● Sobre HDFS 
– Permite almacenar datos de poco tamaño 
– Operaciones APPEND 
– Familias de tablas 
● Integración con Hive y Pig 
● Acceso 
– hbase shell, Java API, Thrift, RESTful
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HBase
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HBase 
● ZooKeeper 
● Servicio centralizado de alta disponibilidad 
● Gestiona el cluster de HBase 
● HBase Master 
● Nodo maestro para el cliente Hbase 
● HBase RegionServer 
● Recide los datos y procesa las peticiones 
● Solo en nodos esclavos
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HBase 
● Instalación 
– $ sudo yum install -y hbase zookeeper-server hbase-master 
hbase-regionserver 
● Configuración 
– Por defecto Standalone 
– /etc/hadoop/conf/hdfs-site.xml 
● dfs.datanode.max.xcievers 
– Límite ficheros que puede servir a la ver (4096) 
● hbase.cluster.distributed 
– Habilitar HBase en modo distribuido 
● hbase.rootdir 
– Ruta en HDFS de los datos de HBase
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
HBase 
● Ejemplos 
● Crear tabla test 
– $ hbase shell 
– hbase> create 'test', 'data' 
● Insertar filas 
– hbase> put 'test', 'row1', 'data:1', 'value1' 
● Verificar tabla 
– hbase> scan 'test' 
● Obtener fila 
– hbase> get 'test', 'row1'
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hue 
● Contenedor web de aplicaciones de Hadoop 
● Gestión de grupos y usuarios 
● Hace más cómodo el uso de herramientas de Hadoop
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hue 
● Herramientas 
● Hive UI 
● Impala UI 
● File Browser 
● Job Browser 
● Job Designer 
● Oozle Workflow Editor 
● Shell UI
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Hue 
● Instalación 
● $ sudo yum install -y hue 
● sudo service hue start 
● Configuración 
● /etc/hadoop/conf/hdfs-site.xml 
– dfs.webhdfs.enable 
● Habilitar con “yes” el acceso HDFS 
● /etc/hue/hue.ini 
– webhdfs_url=http://elephant:14000/webhdfs/v1/ 
– jobtracker_host=horse 
– server_host=elephant 
–
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Mahout 
● Herramienta para Machine-Learning 
● Facilita la extración de conocimiento 
● Incluye algoritmos para Data Mining 
● Recomendación de objetos 
● Clustering o agrupamiento 
● Clasificación 
● Frecuencias de objetos
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Mahout 
● Integración con Scala & Spark 
● write one, run everywhere 
● Alternativa distribuida para R 
● Ejemplos 
● http://mahout.apache.org/users/classification/breiman-example. 
html
Índice 
 Introducción 
 Arquitectura 
 Requisitos 
 Instalación 
 HDFS 
 MapReduce 
 Ecosistema 
 Alta Disponibilidad 
 Resumen
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Alta Disponibilidad 
● Si el NameNode cae 
● No se tiene acceso al clúster HDFS 
● SecundaryNameNode solo replica FSImage 
● Si el JobTracker cae 
● No se pueden lanzar trabajos MapReduce
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Alta Disponibilidad 
● NameNode with HA 
● NameNode Active 
● NameNode StandBy 
– SecundaryNameNode no se usa 
● JournalNode 
● Almacena los metadatos 
– Los NN necesitan los metadatos actualizados siempre 
● Más de la mitad por cada NN 
● ZooKeeper 
● Failover automático
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Alta Disponibilidad
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Resumen 
● Hemos visto 
● Componentes básicos de Hadoop 
● Configuración en modo clúster 
● HDFS 
● Paradigma MapReduce 
● Algunas aplicaciones del ecosistema de Hadoop 
● Configuración alta disponibilidad
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Seguridad 
● Cualquiera con acceso al clúster 
● Controlar el acceso a los datos 
● No hay autenticación de usuario 
– $ sudo -u hdfs hadoop fs -ls -R / 
● No soporta cifrado de disco en CDH4 
● Soluciones 
● Aislar el clúster 
● Configurar Kerberos 
– http://www.cloudera.com/content/cloudera/en/document 
ation/cdh4/latest/CDH4-Security-Guide/CDH4-Security- 
Guide.html
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Referencias 
● http://hadoop.apache.org 
● http://cutting.wordpress.com 
● http://www.cloudera.com/content/cloudera/en/documentation/cd 
h4/latest/ 
● http://hortonworks.com 
● http://www.gartner.com/newsroom/id/2207915 
● https://gigaom.com/2013/03/04/the-history-of-hadoop-from-4- 
nodes-to-the-future-of-data/ 
● http://blogthinkbig.com/hadoop-open-source-big-data/ 
● https://gigaom.com/2014/08/02/the-lab-that-created-spark-wants- 
to-speed-up-everything-including-cures-for-cancer/
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Referencias 
● http://wikibon.org/wiki/v/The_Hadoop_Wars:_Cloudera_and_Hort 
onworks%E2%80%99_Death_Match_for_Mindshare 
● http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super- 
computing-fun/ 
● http://open.blogs.nytimes.com/2008/05/21/the-new-york-times-archives- 
amazon-web-services-timesmachine/ 
● http://www.norbertogallego.com/cloudera-punta-de-lanza-de-big- 
data/2013/07/19/ 
● http://www.cs.yale.edu/homes/tap/Files/hopper-wit.html 
● http://research.google.com/archive/mapreduce-osdi04- 
slides/index-auto-0007.html
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Referencias 
● https://forxa.mancomun.org/projects/mapreduceags/ 
● https://musicbrainz.org/ 
● http://db-engines.com/en/system/Cassandra%3BHBase 
%3BMongoDB 
● http://www.bdisys.com/27/1/17/BIG%20DATA/HADOOP 
● http://www.cloudera.com/content/cloudera/en/training/library/ap 
ache-hadoop-ecosystem.html
Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 
Referencias 
● http://gethue.com/ 
● http://pig.apache.org 
● http://hive.apache.org 
● http://sqoop.apache.org 
● http://hbase.apache.org 
● http://mahout.apache.org 
● http://flume.apache.org

Mais conteúdo relacionado

Mais procurados

Hadoop Architecture and HDFS
Hadoop Architecture and HDFSHadoop Architecture and HDFS
Hadoop Architecture and HDFSEdureka!
 
Big Data & Hadoop Tutorial
Big Data & Hadoop TutorialBig Data & Hadoop Tutorial
Big Data & Hadoop TutorialEdureka!
 
Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...
Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...
Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...Simplilearn
 
ORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big DataORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big DataDataWorks Summit
 
Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Denodo
 
Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...
Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...
Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...DataWorks Summit/Hadoop Summit
 
Büyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lBüyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lHakan Ilter
 
Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Cloudera, Inc.
 
INTRODUCTION TO BIG DATA AND HADOOP
INTRODUCTION TO BIG DATA AND HADOOPINTRODUCTION TO BIG DATA AND HADOOP
INTRODUCTION TO BIG DATA AND HADOOPDr Geetha Mohan
 
Introduction to apache spark
Introduction to apache spark Introduction to apache spark
Introduction to apache spark Aakashdata
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoopjoelcrabb
 
Build Real-Time Applications with Databricks Streaming
Build Real-Time Applications with Databricks StreamingBuild Real-Time Applications with Databricks Streaming
Build Real-Time Applications with Databricks StreamingDatabricks
 
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...Simplilearn
 

Mais procurados (20)

Hive(ppt)
Hive(ppt)Hive(ppt)
Hive(ppt)
 
Hadoop Architecture and HDFS
Hadoop Architecture and HDFSHadoop Architecture and HDFS
Hadoop Architecture and HDFS
 
Apache Spark Crash Course
Apache Spark Crash CourseApache Spark Crash Course
Apache Spark Crash Course
 
Big Data & Hadoop Tutorial
Big Data & Hadoop TutorialBig Data & Hadoop Tutorial
Big Data & Hadoop Tutorial
 
Hadoop Tutorial For Beginners
Hadoop Tutorial For BeginnersHadoop Tutorial For Beginners
Hadoop Tutorial For Beginners
 
Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...
Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...
Hive Tutorial | Hive Architecture | Hive Tutorial For Beginners | Hive In Had...
 
ORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big DataORC File - Optimizing Your Big Data
ORC File - Optimizing Your Big Data
 
HDFS Analysis for Small Files
HDFS Analysis for Small FilesHDFS Analysis for Small Files
HDFS Analysis for Small Files
 
Hadoop Overview kdd2011
Hadoop Overview kdd2011Hadoop Overview kdd2011
Hadoop Overview kdd2011
 
Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)Building a Logical Data Fabric using Data Virtualization (ASEAN)
Building a Logical Data Fabric using Data Virtualization (ASEAN)
 
Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...
Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...
Top Three Big Data Governance Issues and How Apache ATLAS resolves it for the...
 
Büyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1lBüyük veri teknolojilerine giriş v1l
Büyük veri teknolojilerine giriş v1l
 
Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2Introduction to YARN and MapReduce 2
Introduction to YARN and MapReduce 2
 
INTRODUCTION TO BIG DATA AND HADOOP
INTRODUCTION TO BIG DATA AND HADOOPINTRODUCTION TO BIG DATA AND HADOOP
INTRODUCTION TO BIG DATA AND HADOOP
 
Sqoop
SqoopSqoop
Sqoop
 
Introduction to apache spark
Introduction to apache spark Introduction to apache spark
Introduction to apache spark
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
Build Real-Time Applications with Databricks Streaming
Build Real-Time Applications with Databricks StreamingBuild Real-Time Applications with Databricks Streaming
Build Real-Time Applications with Databricks Streaming
 
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
Hadoop YARN | Hadoop YARN Architecture | Hadoop YARN Tutorial | Hadoop Tutori...
 
Hadoop YARN
Hadoop YARNHadoop YARN
Hadoop YARN
 

Destaque

Administración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de ClouderaAdministración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de ClouderaDavid Albela Pérez
 
IOGDC Open Data Tutorial
IOGDC Open Data TutorialIOGDC Open Data Tutorial
IOGDC Open Data TutorialJeanne Holm
 
Ambari Meetup: NameNode HA
Ambari Meetup: NameNode HAAmbari Meetup: NameNode HA
Ambari Meetup: NameNode HAHortonworks
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduceVictoria López
 
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPJorge E. López de Vergara Méndez
 
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IITECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IIChristian Garcia Gamio
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Miguel Pastor
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosNanda Moran
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Socketsmallita
 
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
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
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
 
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Socialmetrix
 
SAS for Claims Fraud
SAS for Claims FraudSAS for Claims Fraud
SAS for Claims Fraudstuartdrose
 

Destaque (20)

Administración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de ClouderaAdministración de Apache Hadoop a través de Cloudera
Administración de Apache Hadoop a través de Cloudera
 
Introducción a Apache HBase
Introducción a Apache HBaseIntroducción a Apache HBase
Introducción a Apache HBase
 
OpenAnalytics Madrid 2014: Spark
OpenAnalytics Madrid 2014: SparkOpenAnalytics Madrid 2014: Spark
OpenAnalytics Madrid 2014: Spark
 
IOGDC Open Data Tutorial
IOGDC Open Data TutorialIOGDC Open Data Tutorial
IOGDC Open Data Tutorial
 
Ambari Meetup: NameNode HA
Ambari Meetup: NameNode HAAmbari Meetup: NameNode HA
Ambari Meetup: NameNode HA
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
 
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION IITECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Sockets
 
Hadoop
HadoopHadoop
Hadoop
 
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
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
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
 
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
Conferencia MySQL, NoSQL & Cloud: Construyendo una infraestructura de big dat...
 
MapReduce en Hadoop
MapReduce en HadoopMapReduce en Hadoop
MapReduce en Hadoop
 
Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1
 
SAS for Claims Fraud
SAS for Claims FraudSAS for Claims Fraud
SAS for Claims Fraud
 

Semelhante a Creación de un clúster de Hadoop con Cloudera

Ensayo 2 (1).pptx
Ensayo 2 (1).pptxEnsayo 2 (1).pptx
Ensayo 2 (1).pptxClikC
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IUrko Zurutuza
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataSpanishPASSVC
 
Azure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIG
Azure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIGAzure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIG
Azure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIGFreddy Angarita
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Guillermo Alvarado Mejía
 
Big Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackBig Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackSoftware Guru
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdrussellmrr
 

Semelhante a Creación de un clúster de Hadoop con Cloudera (20)

Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Hadoop en accion
Hadoop en accionHadoop en accion
Hadoop en accion
 
Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
3. Hadoop
3.  Hadoop3.  Hadoop
3. Hadoop
 
Ensayo 2 (1).pptx
Ensayo 2 (1).pptxEnsayo 2 (1).pptx
Ensayo 2 (1).pptx
 
Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Hadoop
HadoopHadoop
Hadoop
 
Polybase
PolybasePolybase
Polybase
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
Introducción a hadoop
Introducción a hadoopIntroducción a hadoop
Introducción a hadoop
 
Programación Disribuida
Programación DisribuidaProgramación Disribuida
Programación Disribuida
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión I
 
Conociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big dataConociendo los servicios adicionales en big data
Conociendo los servicios adicionales en big data
 
Azure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIG
Azure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIGAzure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIG
Azure Data Usando HDInsight Ejemplo Hadoop: MadReduce, HIVE, PIG
 
introduction to hadoop
introduction to hadoopintroduction to hadoop
introduction to hadoop
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack
 
Big Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackBig Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStack
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bd
 
Hadoop
HadoopHadoop
Hadoop
 
Hadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadasHadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadas
 

Último

Familias más ricas de AL en la historia (2024).pdf
Familias más ricas de AL en la historia (2024).pdfFamilias más ricas de AL en la historia (2024).pdf
Familias más ricas de AL en la historia (2024).pdfJC Díaz Herrera
 
Tinkercad Mikaela Lagos- Skarleth Ayala .
Tinkercad Mikaela Lagos- Skarleth Ayala .Tinkercad Mikaela Lagos- Skarleth Ayala .
Tinkercad Mikaela Lagos- Skarleth Ayala .mikalagos1roa
 
Trabajo herramientas informáticas trabajo pestel.pdf
Trabajo herramientas informáticas trabajo pestel.pdfTrabajo herramientas informáticas trabajo pestel.pdf
Trabajo herramientas informáticas trabajo pestel.pdfjggaratep
 
Países el alto ingreso y stock per cápita en América Latina (1819-2024).pdf
Países el alto ingreso y stock  per cápita en América Latina (1819-2024).pdfPaíses el alto ingreso y stock  per cápita en América Latina (1819-2024).pdf
Países el alto ingreso y stock per cápita en América Latina (1819-2024).pdfJC Díaz Herrera
 
Familias más ricas de México en la historia (2024) .pdf
Familias más ricas de México en la historia (2024) .pdfFamilias más ricas de México en la historia (2024) .pdf
Familias más ricas de México en la historia (2024) .pdfJC Díaz Herrera
 
RED DE PARQUES NACIONALES DANIELA CASAS 4ºB
RED DE PARQUES NACIONALES DANIELA CASAS 4ºBRED DE PARQUES NACIONALES DANIELA CASAS 4ºB
RED DE PARQUES NACIONALES DANIELA CASAS 4ºBdanihouses0609
 
BOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdf
BOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdfBOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdf
BOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdfIrapuatoCmovamos
 

Último (7)

Familias más ricas de AL en la historia (2024).pdf
Familias más ricas de AL en la historia (2024).pdfFamilias más ricas de AL en la historia (2024).pdf
Familias más ricas de AL en la historia (2024).pdf
 
Tinkercad Mikaela Lagos- Skarleth Ayala .
Tinkercad Mikaela Lagos- Skarleth Ayala .Tinkercad Mikaela Lagos- Skarleth Ayala .
Tinkercad Mikaela Lagos- Skarleth Ayala .
 
Trabajo herramientas informáticas trabajo pestel.pdf
Trabajo herramientas informáticas trabajo pestel.pdfTrabajo herramientas informáticas trabajo pestel.pdf
Trabajo herramientas informáticas trabajo pestel.pdf
 
Países el alto ingreso y stock per cápita en América Latina (1819-2024).pdf
Países el alto ingreso y stock  per cápita en América Latina (1819-2024).pdfPaíses el alto ingreso y stock  per cápita en América Latina (1819-2024).pdf
Países el alto ingreso y stock per cápita en América Latina (1819-2024).pdf
 
Familias más ricas de México en la historia (2024) .pdf
Familias más ricas de México en la historia (2024) .pdfFamilias más ricas de México en la historia (2024) .pdf
Familias más ricas de México en la historia (2024) .pdf
 
RED DE PARQUES NACIONALES DANIELA CASAS 4ºB
RED DE PARQUES NACIONALES DANIELA CASAS 4ºBRED DE PARQUES NACIONALES DANIELA CASAS 4ºB
RED DE PARQUES NACIONALES DANIELA CASAS 4ºB
 
BOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdf
BOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdfBOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdf
BOLETÍN HEMEROGRÁFICO-FEBRERO 2024, ICV-.pdf
 

Creación de un clúster de Hadoop con Cloudera

  • 1. GPUL XIII Xornadas Libres Creación de un clúster de Hadoop con Cloudera David Albela Pérez (@elmadno)
  • 2. Licencia Creación de un clúster de Hadoop con Cloudera by David Albela Pérez is licensed under a Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional License.
  • 3. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 4. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA - Resumen Computación distribuida ● Procesamiento paralelo en varios cientos o miles de nodos  Frameworks como Open MPI o PVM ● Enfocados a distribuir la carga de procesamiento  Nodos con alto poder computacional  Sistemas separados del almacenamiento Problemas ● Cuello de botella con gran cantidad de datos ● Hardware caro y programas complejos con sincronización
  • 5. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA - Resumen Grace Murray Hopper ● “In pioneer days they used oxen for heavy pulling, and when one ox couldn't budge a log, they didn't try to grow a larger ox” ● “We shouldn't be trying for bigger computers, but for more systems of computers.”
  • 6. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema - HA - Resumen Hadoop ● Inspirado en los papers de GFS y MapReduce ● Escalabilidad horizontal  Comunicación entre nodos mínima  Añadir más nodos incrementa la capacidad y rendimiento ● Construido para commodity hardware
  • 7. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hadoop ● Plataforma Open Source Java para soluciones Big Data ● Doug Cutting (Lucene, Nutch) ● Componentes  Commodity Hardware  Sistema de ficheros distribuido (HDFS)  Paradigma MapReduce ● Amplio ecosistema (Sqoop, Hive, Pig, Hbase, Mahout, etc.)
  • 8. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Historia ● 2003, Paper Google File System ● 2004, Paper MapReduce publicado por Google ● 2004, Doug Cutting trabajando en Google crea la base de Hadoop para Nutch ● 2006-2008, Doug Cutting se une a Yahoo (web search index) ● Marzo 2006, Apache Hadoop 0.1.0  Hadoop es el nombre del peluche de su hijo, un elefante amarillo
  • 9. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Historia ● 2007-2008, The New York Times “convierte” 150 años de historia con Amazon EC2/S3 y Hadoop – TIFFs → PDF ● 4TB + 1.5TB en S3 ● 11M artículos ● 100 instancias ● 24 horas – Timemachine  405.000 TIFF+XML → PNG+JSON  3,3M de artículos en SGML  36 horas
  • 10. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Historia ● 2009, 3 ingenieros crean Cloudera, más tarde se une Doug Cutting y otros ingenieros como Tom White ● 2010, Framework MapReduce algormitmos genéticos ● 2012, Informe Gartner 4.4M Jobs for Big Data ● 2014, A lot of Startups for Big Data ● ScalingData 'Killer-app' (email, mensajería instantánea, videojuegos online) ● SNAP, AmpLAB (Berkeley)
  • 11. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen SNAP, ampLab (Berkeley) 2014 ● Secuenciador de alineamiento de ADN Open Source ● http://snap.cs.berkeley.edu/ ● Profesor David Patterson (Berkeley, ampLab) ● RISC, RAID ● Apache Spark (alternativa MapReduce x100 in memory) ● Integrado con Hadoop 2 YARN ● Caso de Joshua Osborn ● En solo 90 min. aisló elementos del ADN ● El 0.2% pertenecían a una bacteria extraña ● Búsqueda para cura contra el cáncer
  • 12. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen SNAP
  • 13. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Cloudera ● Soporte de Apache Hadoop a empresas ● Certificaciones y cursos para Hadoop ● Modelo de negocio freemium ● CDH (Cloudera Distribution Including Apache Hadoop) ● Distribución de Open Source ● Paquetes RPM y Deb (Debian/Ubuntu/Suse) ● Cloudera Manager
  • 14. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Cloudera CDH
  • 15. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Cloudera Standard
  • 16. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HortonWorks ● Alternativa a Cloudera ● Fundada en 2011 ● Servicio HDP análogo a CDH de Cloudera ● Certificaciones ● Partners como Yahoo, Microsoft, Red Hat o SAP ● Integración y soporte en muchas aplicaciones
  • 17. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HortonWorks
  • 18. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Mercado ● Cloudera y HortonWorks: líderes de mercado ● Informe Forrester Research Q1 2014: ● Big Data Hadoop Solutions
  • 19. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 20. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Arquitectura
  • 21. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Arquitectura ● Almacenar y procesar los datos en los mismos nodos ● Planificación de trabajo “data locality” ● Procesamiento en el mismo nodo donde están los datos ● Separación de los datos bloques (64-128 Mbytes) ● 1000 discos (210MB/s) en paralelo ● Lectura 3TB en 15 seg. ● Replicación ● Mismo bloque replicado en 3 nodos
  • 22. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Arquitectura ● Programación en Java al igual que Hadoop ● Soporta otros lenguajes (Python, PHP, C, etc.) ● Simplificación del procesamiento ● Trabajo Map(k1, v1) → list(k2, v2) ● Recopilación intermedia y envío ● Trabajo Reduce(k2, list(v2)) → list(v3)
  • 23. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Componentes HDFS ● NameNode ● Nodo maestro de HDFS ● Almacena Metadatos – FSImage (checkpoint) – Edits (edit logs) ● DataNode ● Nodos esclavos ● Almacenan los bloques
  • 24. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Componentes HDFS Secundary NameNode ● Liberar carga al NameNode ● Copia de respaldo de FSImage – Siempre en nodo alternativo a NameNode ● Aplica los últimos cambios en FSImage – Cada hora – Cada 64MBytes
  • 25. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Componentes MapReduce JobTracker ● Gestor de los trabajos MapReduce ● Hasta 4 intentos por cada trabajo – En cada nodo que contiene el dato ● Registra el progreso de los trabajos Tasktracker ● Ejecuta un trabajo sobre un bloque ● Intenta lanzarse sobre el DataNode que tiene el dato
  • 26. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Alta Disponibilidad ● NameNode Active ● NameNode Standby – Sustituye al SecondaryNameNode pero con HA ● JournalNode – Almacenan los metadatos de los NameNode – Al menos 1/3 deben estar levantados ● ZooKeeper – Cuidador del ecosistema de Hadoop – Habilitar Failover en HA ● Por defecto es manual
  • 27. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 28. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Requisitos ● NameNode/Jobtracker – Requiere gran cantidad de memoria ● 8-16 Gb ● DataNode/Tasktracker – 2-4 discos SAS/SSD ● ¡Importante! No RAID – Dual-Quad core ● 2 tareas por Tasktracker
  • 29. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Requisitos ● Imágenes VM de Cloudera – http://www.cloudera.com/content/cloudera/en/downloads/qu ickstart_vms/cdh-4-7-x.html ● VirtualBox, KVM o VMWare Player – En el taller usaremos VirtualBox ● OS 64-bit – 2 cores – 4Gb-8Gb RAM – 15Gb-30 Gb espacio libre en disco
  • 30. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen 4 VMs ● Configuración básica – 768MB-1536 MB de RAM – 1 core ● NAT en eth1 ● Hostname: eth2 (internal network) – elephant: 192.168.0.1/24 – tiger: 192.168.0.2/24 – horse: 192.168.0.3/24 – monkey: 192.168.0.4/24
  • 31. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Importar VM base
  • 32. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Importar VM base
  • 33. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Importar VM base
  • 34. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Adaptador de Red
  • 35. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 36. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Instalación ● Configuración idioma teclado y zona horaria ● Actualización de paquetes ● $ yum update -y ● Instalación de vi mejorado (opcional) ● $ yum install nano vim emacs -y ● Detener los servicios de Cloudera Manager ● Servicio web parando todos los procesos ● Eliminar servicio en arranque
  • 37. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Eliminar Cloudera Manager
  • 38. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Eliminar pseudo-distribuido ● Cloudera Quickstart incluye paquetes pseudo-distribuidos – $ sudo yum remove -y hadoop-0.20-conf-pseudo ● Crear configuración base inicial – $ sudo mv /etc/hadoop/conf /etc/hadoop/conf.alternatives – $ sudo mv /etc/hadoop/conf.empty /etc/hadoop/conf – $ touch /etc/hadoop/conf/hadoop-env.sh
  • 39. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Re-instalar paquetes ● Es necesario reinstalar los paquetes básicos ● Incluyen la configuración de ficheros y servicios ● $ sudo yum reinstall -y hadoop-hdfs-namenode hadoop-hdfs-datanode hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-secondarynamenode hadoop-0.20-mapreduce-jobtracker ● Habilitar arranque de los servicios ● $ for s in `cd /etc/init.d/; ls hadoop*`; do sudo chkconfig $s on; done
  • 40. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Configuración de Red ● Configurar tarjeta de red eth1 ● Configuración por defecto (NAT) ● Gestionada por Network-Manager – /etc/sysconfig/network-scripts/ifcfg-eth1
  • 41. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Configuración de Red ● Configurar tarjeta de red eth2 – /etc/sysconfig/network-scripts/ifcfg-eth2
  • 42. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Configuración de Red ● Configurar hosts del cluster – /etc/hosts ● 192.168.1.1 elephant ● 192.168.1.2 tiger ● 192.168.1.3 horse ● 192.168.1.4 monkey ● Configurar hostname – /etc/sysconfig/network ● NETWORKING=yes ● HOSTNAME=elephant
  • 43. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Clonar VM ● Apagar elephant ● System → Shut down ● Clonar desde VirtualBox ● Machine → Clone... ● Marcar “Reinitialize the MAC address of all network cards” ● Full clone (copiar los discos)
  • 44. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 45. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HDFS (Hadoop Distributed FileSystem) ● Separa los datos en bloques (64-128 Mbytes) ● Acceso secuencial ● Única escritura y lectura secuencial ● Append (HBase) ● NameNode guarda los metadatos ● Nombre fichero, permisos, fechas ● Block-ids: bloques del fichero y que DN lo tienen ● DataNode almacena los bloques ● Replicación x3
  • 46. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen
  • 47. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Características ● Data locality ● Rack-aware ● Replica dos bloques en otro mismo rack ● Switch-aware ● x máquinas en switches distintos, réplicas en distintas LAN ● Anatomy File Read ● Hadoop pide información al NameNode ● El NN devuelve los DN en orden de cercanía
  • 48. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen NameNode ● Los bloques nunca pasan por el NameNode ● Se transfieren entre DataNodes o al cliente ● Memory Allocation ● Memoria suficiente en el NN para guardar los metadatos: – 150-200 bytes / ítem – 1 ítem / file metadata – 1 ítem / bloque ● ¿Por qué Hadoop es óptimo para ficheros grandes? – Fichero 1Gb / 128Mb por bloque = 8 bloques = 9 ítems – Fichero 1Gb / 1Mb por bloque = 1025 ítems
  • 49. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen NameNode ● Si se cae, no hay acceso al HDFS ● Hadoop soporta Federación de NameNode – Útil si no se tiene suficiente memoria física. ● Almacena Metadatos – FSImage (checkpoint) – Edits (edit logs) ● Opción recomendada Alta Disponibilidad – NameNode active y standBy – JournalNodes (al menos 3) – Failover automático con ZooKeeper
  • 50. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen DataNode ● Almacenamiento ● Bloques de datos ● Pueden ir en distintos discos – Sin RAID ● Guarda un checksum del bloque – Verificación del bloque: lectura ● Enviá heartbeart al NN para indicar disponibilidad ● Si en 10 min. el NN no detecta un DN → DN muerto – NN solicita réplicar los bloques del DN muerto – El bloque pasa de DN a DN, nunca por NN
  • 51. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Configuración ● core-site.xml ● fs.default.name: hdfs://elephant:8020 – Identifica el NameNode ● hdfs-site.xml ● dfs.name.dir: /disk1/dfs/nn,/disk2/dfs/nn – Ruta de los metadatos de NameNode ● dfs.data.dir: /disk1/dfs/dn,/disk2/dfs/dn – Ruta de los datos de DataNode (más checksum) ● dfs.http.address: elephant:50070 – Servicio web información HDFS
  • 52. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Otros parámetros ● core-site.xml ● hadoop.tmp.dir – Ruta temporal, por defecto /tmp/hadoop-${user-hadoop} ● hdfs-site.xml ● dfs.block.size – Tamaño bloque de datos, por defecto 64Mb ● dfs.replication – Número de bloques replicados, por defecto 3 ● dfs.datanode.du.reserved – Espacio reservado por disco no ocupado por los bloques de HDFS en los DataNodes. Recomendable al menos 10Gb
  • 53. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Iniciar servicios ● elephant ● Namenode – # service hadoop-hdfs-namenode start ● tiger ● Secundary NameNode – # service hadoop-hdfs-secundarynamenode start ● All nodes ● DataNode – # service hadoop-hdfs-datanode start
  • 54. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 55. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Características ● Paralelización automática y distribuída ● Tolerancia a fallos ● Herramientas de monitorización ● Soporte para cualquier lenguaje con Hadoop Streaming ● Los datos intermediarios se escriben en el disco local ● Terminología – Job: Mapper, Reducer y una lista de entradas – Task: Unidad de trabajo – Un Job se divide en Tasks
  • 56. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen MapReduce
  • 57. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Fases ● Mapper ● Input: datos de origen ● Output: clave, valor ● Tasks: Nº de bloques ● Shuffle & sort ● Reordenación de los datos salida de Map ● Reduce ● Input: salida Mapper reordenados ● Output: clave, valor resultado esperado ● Tasks: Las define el desarrollador
  • 58. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Componentes ● JobTracker ● Gestiona los trabajos MapReduce ● Si una tarea falla, se encarga de lanzarla de nuevo ● Soporta HA – JobTracker Activo y Standby ● TaskTracker ● Ejecuta las tareas MapReduce en un nodo ● Cada TaskTracker ejecuta por defecto 2 tareas ● Envía heartbeats al JobTracker
  • 59. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Versiones ● MRv1 ● MapReduce clásica ● Normalmente un solo JobTracker ● Limitación de 1000 nodos para el JobTracker ● MRv2 / YARN ● JobTracker → Resource Manager ● TaskTracker → NodeManager – Actúa como JobTracker en el nodo ● Ventaja: RM solo reparte la carga entre los distintos nodos
  • 60. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Configuración ● mapred-site.xml ● mapred.local.dir – Rutal local para fichero intermediarios ● mapred.job.tracker – Especifica el JobTracker ● mapred.system.dir – Ruta de ficheros compartidos durante la ejecución ● mapreduce.jobtracker.staging.root.dir – Ficheros de configuración en HDFS
  • 61. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Otros parámetros ● mapred-site.xml ● mapred.tracktracker.map.task.maximum – Nº máximo de tareas Map (40-60) ● mapred.tracktracker.reduce.task.maximum – Nº máximo de tareas Reduce (1.5 * cores)
  • 62. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Iniciar servicios ● horse ● JobTracker – # service hadoop-0.20-mapreduce-jobtracker start ● All nodes ● TaskTracker – # service hadoop-0.20-mapreduce-tasktracker start
  • 63. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 64. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Ecosistema
  • 65. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Ecosistema ● Data Integration ● Flume, Sqoop ● Batch Processing ● Hive, Pig ● Database NoSQL ● HBase – NoSQL column-oriented ● Machine Learning & Data Mining ● Mahout
  • 66. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Flume ● Integración de Datos ● Cada servidor enviar sus logs a unos o varios agentes Flume ● Soporta encriptado y compresión ● Agente ● Almacena los datos en memoria ● Envía a HDFS cuando alcanza un tamaño ● Canales de memoria ● Establece tamaño caché ● Comunica Agente con la fuente origen y el HDFS – Data Serialization Avro, Thift
  • 67. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Flume
  • 68. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Sqoop ● Integración de Datos ● BD relacional ↔ HDFS ● Soporte JDBC – Descargar el driver para el SGBD ● Para MySQL /usr/share/java/mysql-connector-java.jar – Conectores alternativos (Netezza, Teradata, etc.) ● Sqoop ver. 2 ● Funciona como servicio – Disponible desde varios clientes – Requiere del driver JDBC en los clientes – Interfaz web: WebHDFS o Http FS
  • 69. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Sqoop ● Instalación ● $ yum install -y sqoop ● ls /usr/share/java/mysql-connector-java.jar ● Importación tabla de MySQL ● $ sqoop import --connect jdbc:mysql://localhost/myDatabase --table myTable --fields-terminated-by 't' --username myUser --password myPassword
  • 70. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hive ● Desarrollado en Facebook para análisis de datos ● HiveQL ● Consultas SQL sobre HDFS – Selects con Joins, Group by, Having, Order By ● Lanza trabajos MapReduce ● MetaStore ● Gestor de metadatos en DB relacional (MySQL, Derby) ● MetaStore Local ● Shared MetaStore – Múltiples usuarios ejecutan Hive compartido
  • 71. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hive
  • 72. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hive ● Instalación ● $ sudo yum install -y hive mysql-server libmysql-java ● Crear MetaStore – mysql> create database metastore; – Schema /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema- 0.10.0.mysql.sql; ● Configurar Hive – /etc/hive/conf/hive-site.xml
  • 73. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Pig ● Desarrollado por Yahoo! Para análisis de datos ● Alternativa a Hive ● No usa sentencias SQL ● Pig Latin ● Lenguaje de control de flujo ● Define bolsas a través del intérprete Grunt ● Soporta JOINs y filtros ● Sentencia STORE almacena el resultado en HDFS
  • 74. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Pig ● Instalación ● $ yum install -y pig ● Ejemplo ● $ pig ● Definir bolsas: – grunt> texts = LOAD 'binary_texts' AS (id_text:int, binary_file_id:int, english:chararray, spanish:chararray, created_date:chararray); – grunt> files = LOAD 'binary_files' AS (id_file:int, file:chararray, desc:chararray);
  • 75. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HBase ● Bases de datos NoSQL – Orientado a columnas ● Sobre HDFS – Permite almacenar datos de poco tamaño – Operaciones APPEND – Familias de tablas ● Integración con Hive y Pig ● Acceso – hbase shell, Java API, Thrift, RESTful
  • 76. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HBase
  • 77. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HBase ● ZooKeeper ● Servicio centralizado de alta disponibilidad ● Gestiona el cluster de HBase ● HBase Master ● Nodo maestro para el cliente Hbase ● HBase RegionServer ● Recide los datos y procesa las peticiones ● Solo en nodos esclavos
  • 78. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HBase ● Instalación – $ sudo yum install -y hbase zookeeper-server hbase-master hbase-regionserver ● Configuración – Por defecto Standalone – /etc/hadoop/conf/hdfs-site.xml ● dfs.datanode.max.xcievers – Límite ficheros que puede servir a la ver (4096) ● hbase.cluster.distributed – Habilitar HBase en modo distribuido ● hbase.rootdir – Ruta en HDFS de los datos de HBase
  • 79. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen HBase ● Ejemplos ● Crear tabla test – $ hbase shell – hbase> create 'test', 'data' ● Insertar filas – hbase> put 'test', 'row1', 'data:1', 'value1' ● Verificar tabla – hbase> scan 'test' ● Obtener fila – hbase> get 'test', 'row1'
  • 80. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hue ● Contenedor web de aplicaciones de Hadoop ● Gestión de grupos y usuarios ● Hace más cómodo el uso de herramientas de Hadoop
  • 81. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hue ● Herramientas ● Hive UI ● Impala UI ● File Browser ● Job Browser ● Job Designer ● Oozle Workflow Editor ● Shell UI
  • 82. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Hue ● Instalación ● $ sudo yum install -y hue ● sudo service hue start ● Configuración ● /etc/hadoop/conf/hdfs-site.xml – dfs.webhdfs.enable ● Habilitar con “yes” el acceso HDFS ● /etc/hue/hue.ini – webhdfs_url=http://elephant:14000/webhdfs/v1/ – jobtracker_host=horse – server_host=elephant –
  • 83. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Mahout ● Herramienta para Machine-Learning ● Facilita la extración de conocimiento ● Incluye algoritmos para Data Mining ● Recomendación de objetos ● Clustering o agrupamiento ● Clasificación ● Frecuencias de objetos
  • 84. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Mahout ● Integración con Scala & Spark ● write one, run everywhere ● Alternativa distribuida para R ● Ejemplos ● http://mahout.apache.org/users/classification/breiman-example. html
  • 85. Índice  Introducción  Arquitectura  Requisitos  Instalación  HDFS  MapReduce  Ecosistema  Alta Disponibilidad  Resumen
  • 86. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Alta Disponibilidad ● Si el NameNode cae ● No se tiene acceso al clúster HDFS ● SecundaryNameNode solo replica FSImage ● Si el JobTracker cae ● No se pueden lanzar trabajos MapReduce
  • 87. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Alta Disponibilidad ● NameNode with HA ● NameNode Active ● NameNode StandBy – SecundaryNameNode no se usa ● JournalNode ● Almacena los metadatos – Los NN necesitan los metadatos actualizados siempre ● Más de la mitad por cada NN ● ZooKeeper ● Failover automático
  • 88. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Alta Disponibilidad
  • 89. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Resumen ● Hemos visto ● Componentes básicos de Hadoop ● Configuración en modo clúster ● HDFS ● Paradigma MapReduce ● Algunas aplicaciones del ecosistema de Hadoop ● Configuración alta disponibilidad
  • 90. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Seguridad ● Cualquiera con acceso al clúster ● Controlar el acceso a los datos ● No hay autenticación de usuario – $ sudo -u hdfs hadoop fs -ls -R / ● No soporta cifrado de disco en CDH4 ● Soluciones ● Aislar el clúster ● Configurar Kerberos – http://www.cloudera.com/content/cloudera/en/document ation/cdh4/latest/CDH4-Security-Guide/CDH4-Security- Guide.html
  • 91. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Referencias ● http://hadoop.apache.org ● http://cutting.wordpress.com ● http://www.cloudera.com/content/cloudera/en/documentation/cd h4/latest/ ● http://hortonworks.com ● http://www.gartner.com/newsroom/id/2207915 ● https://gigaom.com/2013/03/04/the-history-of-hadoop-from-4- nodes-to-the-future-of-data/ ● http://blogthinkbig.com/hadoop-open-source-big-data/ ● https://gigaom.com/2014/08/02/the-lab-that-created-spark-wants- to-speed-up-everything-including-cures-for-cancer/
  • 92. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Referencias ● http://wikibon.org/wiki/v/The_Hadoop_Wars:_Cloudera_and_Hort onworks%E2%80%99_Death_Match_for_Mindshare ● http://open.blogs.nytimes.com/2007/11/01/self-service-prorated-super- computing-fun/ ● http://open.blogs.nytimes.com/2008/05/21/the-new-york-times-archives- amazon-web-services-timesmachine/ ● http://www.norbertogallego.com/cloudera-punta-de-lanza-de-big- data/2013/07/19/ ● http://www.cs.yale.edu/homes/tap/Files/hopper-wit.html ● http://research.google.com/archive/mapreduce-osdi04- slides/index-auto-0007.html
  • 93. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Referencias ● https://forxa.mancomun.org/projects/mapreduceags/ ● https://musicbrainz.org/ ● http://db-engines.com/en/system/Cassandra%3BHBase %3BMongoDB ● http://www.bdisys.com/27/1/17/BIG%20DATA/HADOOP ● http://www.cloudera.com/content/cloudera/en/training/library/ap ache-hadoop-ecosystem.html
  • 94. Introducción – Arquitectura - Requisitos – Instalación – HDFS – MapReduce – Ecosistema – HA – Resumen Referencias ● http://gethue.com/ ● http://pig.apache.org ● http://hive.apache.org ● http://sqoop.apache.org ● http://hbase.apache.org ● http://mahout.apache.org ● http://flume.apache.org