Hadoop Apache (I) – Introducción y Esquema de la Configuración

_hadoopelephant_rgb1

Su logo es ese elefante amarillo, el juguete favorito del hijo de su creador original, Doug Cutting.

Este post pertenece a la serie de Hadoop Apache.

A continuación teneís el esquema que iré siguiendo de publicación de los Post:

HADOOP APACHE (I): Introducción y Esquema de la Configuración

HADOOP APACHE (II): MapReduce

HADOOP APACHE (III): Zookeeper

HADOOP APACHE (IV): HBase

HADOOP APACHE (V): Hive

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

1. ¿Qué es Hadoop?

1.1 Definición

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

1.2 Hadoop Distributed File System

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

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

2. Conceptos básicos de HDFS

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

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

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

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

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

3. ¿Cómo son almacenados los archivos?

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

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

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

3.1 Cómo son almacenados los archivos: Ejemplo

NameNode: almacena solamente los Metadatos de los archivos

DataNode: almacena los Bloques actuales. Cada bloque se replica 3 veces en el cluster.

imagen1
El dataname
imagen2
Los Datanodes

Cliente lee un archivo: se comunica con el NameNode para determinar cuales son los bloques hacen un archive, y en cuales de los DataNodes se almacenan.Entonces se comunica directamente con el DataNode para leer los Datos.

4. Obteniendo datos Dentro y Fuera de HDFS

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

hadoop fs –copyToLocal /hdfs_dir local_dir

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

5. Anatomía de un Clúster Hadoop

5.1 Los cinco demonios de Hadoop

NameNode: guarda los metadatos para el HDFS

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

DataNode: Almacena los Bloques de Datos HDFS actuales

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

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

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

 

imagen3
Esquema de la Configuración

 

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

El impacto del Open Source en los emprendedores

open_source
Open

El software libre hace posible que las personas en todo el mundo puedan emprender y colaborar sin restricciones tecnológicas.

Internet y las redes sociales se han convertido en recursos fundamentales para el éxito de muchos proyectos, en especial los de carácter social. Estos medios han hecho posible que se desarrollen redes de crowdfunding y colaboración a nivel mundial y que las ideas lleguen a un público más amplio. Si a esto le sumamos la puesta en común de recursos que hacen uso de los principios open source, obtenemos un cóctel explosivo: muchos emprendedores pueden alcanzar sus metas con poco o nada de capital inicial.

Qué es el open source

Open source es un término que se originó en el contexto del desarrollo de software para referirse a la tecnología cuyo código es “abierto”, es decir, que cualquier persona puede usarla, modificarla o mejorarla. En un esfuerzo de colaboración desinteresado, programadores y diseñadores van mejorando el código de un programa y comparten los cambios con todo el mundo.

Esta filosofía surgió a principios de los años 90 en la comunidad tecnológica como respuesta al software patentado de las corporaciones. En Finlandia, Linus Torvalds, un estudiante de ciencias computacionales insatisfecho con el sistema operativo “Minix“, implementaba las primeras versiones del núcleo de Linux: muy pronto equipos enteros completaron el sistema operativo hasta hacerlo estable. A partir de ahí se desencadenó un torbellino creativo y en 1998, con el anuncio de la liberación de Netscape, se creó la Open Source Initiative, un grupo cuyo objetivo es educar y abogar por la superioridad de un proceso de desarrollo abierto y que registró el término Open Source y empezó a promocionar esta tecnología.

open-source-Bibliotecaprofesional

Sin embargo, cuando hablamos de open source también nos referimos a un conjunto de valores, lo que algunos llaman el “estilo open source”: todos los proyectos, productos o iniciativas que apuestan por el intercambio abierto, la participación colaborativa, la transparencia y el desarrollo comunitario pueden considerarse open source.

3 Razones por las que el Open Source gana adeptos

Hasta hace poco el software libre era cosa de “frikis”, idealistas que quieren boicotear a las grandes compañías o jóvenes con recursos limitados. Pero la cosa está cambiando y el código abierto se está volviendo algo cada vez más común. Tanto, que hasta grandes empresas y administraciones se están pasando al open source. ¿Por qué? Algunas de las razones son:

Es gratis. Aunque hay programas basados en la tecnología open source que se han privatizado, la mayoría es gratis. Por eso, usando Linux como sistema operativo en lugar de Windows o programas como OpenOffice.org en vez de Microsoft Office, las empresas se ahorran una gran inversión.

“Todos nuestros desarrollos se hacen sobre software libre y gratuito. De este modo, nos ahorramos pagar por las licencias y el mantenimiento y los costes de desarrollo son mucho más ajustados. El ahorro medio en este apartado se sitúa en más de 100.000 euros cada año.”

Pedro Serrahima, director de Pepephone.

De hecho, hay casos realmente espectaculares como el de Generalitat Valenciana que, no solo se ahorrará 1,5 millones de euros al año en licencias de software por haber migrado 120.000 equipos informáticos a LibreOffice, sino que desde 2005 ha economizado 30 millones de euros instalando el software libre de distribución educativa LLiureX.

Es confidencial. MayormenteEl software open source no está lleno de spyware y vulnerabilidades de seguridad. Los proveedores no pueden recolectar datos de los usuarios (como por ejemplo qué programas se descargan) y la información personal está a salvo.

Es de todos. Gracias al uso de herramientas open source, Silicon Valley, Seattle o Nueva York ya no son los únicos centros de innovación mundial. Cada vez son más los emprendedores de todas partes que están aprovechando la independencia tecnológica que ofrece el software libre para poder crear productos innovadores.

Para ejemplos, el de WhatsApp en Dubai o el de Ninja Sphere en Sydney, un gadget open source que permite controlar la temperatura, luz y uso de energía de tu entorno. El proyecto Ninja Sphere, además, resulta especialmente interesante porque consiguió recaudar más de 500.000 dólares australianos gracias al crowdfunding.

Dónde encontrar recursos open source

El navegador Firefox, el cliente de correo Thunderbird, la agenda Sunbird, el antivirus ClamWin, el reproductor de videos VLC Media Player, o el sustituto de iTunes, MusikCube…Existe software libre para todas las necesidades, solo hay que saber dónde buscarlo. A continuación tenéis algunos favoritos:

GitHub: se trata de una plataforma de desarrollo colaborativo de software donde se puede alojar proyectos utilizando el sistema de control de versiones Git. Una de las características más destacadas es que ofrece funcionalidades propias de una red social, como por ejemplo tener seguidores.

AbanQ: una solución que simplifica la gestión contable de una empresa.

osCommerce: una aplicación que permite poner en marcha fácilmente un portal de comercio electrónico.

Blender, software libre de creación 3D: explora el modelaje, animación, composición y edición de video, creación de juegos y contenido interactivo…

Gimp: despídete de Photoshop gracias a este programa que te ofrece funcionalidades avanzadas para el tratamiento de imágenes.

Inkscape, la mejor alternativa a Adobe Illustrator: crea, edita y manipula objetos vectoriales como gráficos y logos.

Si queréis más, en las páginas de Opensource.com, SourceFourge o Emprendedores comparten listados de recursos de código libre.

Únete a la marea

El software open source es parte de un movimiento más amplio, casi una filosofía, que busca crear nuevos modelos de relación colaborando y compartiendo gracias a Internet. Por eso ahora más que nunca, en estos momentos de incertidumbre económica, está experimentando un crecimiento imparable.

Un hecho interesante observando Google trends, es qué el término ‘Open Source’ es muy popular en países en vías de desarrollo. El uso de software libre resulta fundamental para el desarrollo tecnológico de estos países.

google tendencias interes open source

Y para despedirnos por hoy, daros un ejemplo de que el software libre funciona tanto a pequeña como gran escala: en Ecuador toda la administración pública trabaja ya con software open source. En abril de 2008 el presidente Rafael Correa decretó el software libre como política de estado para la administración pública: desde entonces la asamblea constituyente pasó a usar servidores de Joomla (entre otros), los funcionarios usan OpenOffice como paquete ofimático y hasta han desarrollado eCURUL, un programa que permite realizar votaciones electrónicas.