Es un Framework que permite el procesamiento distribuido de grandes cantidades de datos usando modelos de programación simple sobre un cluster de máquina.

¿Cuáles son sus características básicas?

  1. Procesamiento distribuido.
  2. Eficiente.
  3. Económico.
  4. Fácilmente escalable.
  5. Tolerante a fallos.
  6. Open source.

La idea de Hadoop es poder distribuir los datos, teniendo la capacidad de paralelizar el tratamiento de los datos de forma que cada nodo de nuestro cluster de máquina procese una parte de los datos porque de esta forma ganamos velocidad.

También es un proceso eficiente porque consigue procesar los datos en poco tiempo.

Es un framework económico porque es fácilmente escalable de manera horizontal por si se nos queda pequeño podamos añadir un nuevo nodo que lo agragaremos a nuestro cluster de máquina y no tengamos problema.

Es un sistema tolerante a fallos porque usa la alta disponibilidad y además usa la replicación; los datos suelen estar replicados con replicación 3 en el HDFS que es el sistema de almacenamiento de Hadoop, de forma que si un nodo cae, tendremos los datos en el resto de los nodos configurados.

Por último, es un proyecto Open source un proyecto de código abierto.

¿Cuál es su arquitectura básica?

En Hadoop se distinguen cuatro nodos principales:

  1. Commom Utilities
  2. YARN Framework
  3. HDFS (Distributed Storage)
  4. MapReduce (Distributed Computation)

El Commom Utilities lo forman todos los hardware y las librerías que son necesarias para ejecutar Hadoop.

El YARN es el gestor de recursos de Hadoop. Ya que como hemos dicho Hadoop es un sistema distribuido en distinta máquinas, por lo cual debe haber un gestor de recursos que vaya gestionando el sistema distribuido en todas las máquinas.

Luego tenemos el HDFS este es el sistema de archivo distribuido en todo Hadoop. Este sistema de archivo está instalado en cada uno de los nodos de nuestras máquinas y los procesos MapReduce siempre se apoyarán en el HDFS para poder paralelizar el procesamiento de los datos.

Por último, los procesos MapReduce son un sistema o una manera de implementar el sofware que nos permitan paralelizar los datos, este es nuestro fin, la paralelización de los datos. Así que tenemos que crear unos procesos Map y luego unos procesos Reduce de forma que nos permiten reagrupar los datos y luego estos datos nos permitan hacer cálculos para determinar la información que necesitamos.

Todo esto los veremos en pronfundidad en el curso.

El Hadoop cluster

La configuración habitual de Hadoop es tenerlo en un cluster de máquinas. De manera que debemos tener una máquina “maestra” y “n” cantidad de máquinas “esclavas”. La idea principal es que la máquina maestra gestionará todas las tareas y las enviará a las máquinas “esclavas”. Esas máquinas realizarán todo el procesamiento de los datos y a continuación volverían a informar a la máquina “maestra”.

¿Qué opciones tenemos para trabajar con Hadoop?

Tenemos tres opciones:

  1. Microsoft Azure. (Hadoop en Azure)
    Es un servicio que nos proporciona Microsoft que nos permite tener nuestras máquinas en la nube y solo pagaríamos por la cantidad de máquinas que tengamos y sus características.

    Click en su enlace: https://azure.microsoft.com/es-es/

  2. Hortonworks.
    Es la última distribución que ha salido acerca de Hadoop, con Hortonworks podrás descargar una máquina virtual que puedes abrir con un cliente de virtualización y tedremos todos nuestro sistema Hadoop instalado con todos los servicios que necesitaremos.

    Click en su enlace: https://es.hortonworks.com/

  3. Cloudera.
    Fue la primera distribución acerca de Hadoop que de igual forma nos permite descargar una máquina virtual que abrimos con un cliente de virtualización y allí tenemos todo Hadoop instalado y también tenemos la Cloudera manager que es un asistente para poder gestionar todo el cluster de máquina.

    Esta es la plataforma de Hadoop que utilizaremos en el curso.

    Click en su enlace: https://www.cloudera.com/downloads.html

Esto es todo en esta breve introducción, te animo a que entres en nuestro curso de Big Data en Openwebinars en donde aprenderemos a crear procesos de Big data y crear procesos de MapReduce.

Artículo desarrollado a partir del vídeo por Janiel Medina Gómez