Hadoop Explicado

Avatar Tutor | marzo 9, 2022

Hadoop es una plataforma similar a un sistema operativo de propósito general para computación paralela. Teniendo en cuenta que el 90% de los datos del mundo se generó en los últimos años y que este porcentaje está en crecimiento, toda esta información tiende a descuidarse por el desconocimiento de las herramientas de procesamiento. 

Hadoop proporciona un marco para procesar estos macrodatos a través del procesamiento paralelo (no en un único sistema), similar al que se utiliza para las supercomputadoras. Al mencionar a las supercomputadoras seguramente muchos se preguntarán ¿por qué no podemos utilizar supercomputadoras para paralelizar el procesamiento de big data?

En primer lugar no existe un sistema operativo estandarizado (o un marco similar a un sistema operativo) para las supercomputadoras, lo que las hace menos accesibles para las organizaciones pequeñas y medianas. En segundo lugar, significaría un costo enorme incluso para las grandes empresas. Además el soporte de hardware está vinculado a un proveedor específico, es decir, una empresa no puede adquirir los diversos componentes individuales de diferentes proveedores y apilarlos juntos. Y podemos seguir sumando más razones a la lista.

La cuestión es que Hadoop ha resuelto todos estos puntos que significan un problema para el uso empresarial de las supercomputadoras en el procesamiento de datos. Pues es una plataforma de código abierto, funciona de forma similar a un sistema operativo para el procesamiento paralelo que no depende de proveedores de hardware específicos para el soporte continuo de hardware y no requiere ningún software propietario. Veamos más de los grandes beneficios de Hadoop.

Beneficios

  • La tecnología Hadoop es altamente escalable, es decir, permite crecer simplemente añadiendo nuevos nodos sin necesidad de hacer ajustes o modificar la estructura inicial. 
  • Los desarrolladores no enfrentan los problemas de la programación en paralelo. 
  • Hadoop ofrece almacenamiento a bajo costo. La información no se almacena de forma tradicional en filas y columnas, sino que se otorgan categorías a través de miles de computadoras baratas que suponen un ahorro enorme. Trabajar con grandes volúmenes de datos de otra manera supondría un costo terrible.
  • Permite distribuir la información en múltiples nodos y ejecutar los procesos en paralelo y además pone a disposición mecanismos para la monitorización de los datos.
  • También ofrece alta flexibilidad al incrementar el número de nodos, lo que igualmente suma más almacenamiento y procesamiento. Y como permite adaptar nuevas fuentes de datos en todo momento, se pueden diseñar procesos, integraciones y mejorar otros aspectos de la estructura.
  • Dispone de múltiples funcionalidades que hacen que sea posible realizar consultas rápidas en una gran cantidad de datos, además de que facilita el tratamiento, seguimiento y control de la información que se almacena.
  • Finalmente, uno de los puntos más fuertes de Hadoop es la velocidad en el procesamiento de datos. Puedes recuperar datos de forma segura y a la mayor rapidez. 

Arquitectura

Estos son los principales componentes físicos de la arquitectura de Hadoop 1:

Nodos maestros:

  • Name node: es el administrador del sistema de archivos centralizado de Hadoop, que realiza un seguimiento de la cantidad de bloques en los que se dividió un archivo de datos, el tamaño del bloque y qué nodos de datos guardarán y procesarán cada bloque de archivos, sin guardar ningún dato dentro de sí mismo.
  • Name node secundario: s la copia de seguridad para el name node
  • Rastreador de trabajos: es el programador de trabajos centralizado de Hadoop que es responsable de programar la ejecución de un trabajo en los nodos de datos.

Nodos esclavos:

  • Nodos de datos: son los sistemas individuales donde los archivos de trabajo, en forma de bloques de datos, se almacenan y procesan.
  • Rastreador de tareas: se trata de un servicio de software para monitorear el estado del Rastreador de trabajos, realizar un seguimiento de las actividades que realiza el Nodo de datos e informar el estado al Rastreador de trabajos. Hay un rastreador de tareas para cada nodo de datos.

Sistema de archivos distribuido Hadoop (HDFS)

El Sistema de archivos distribuido Hadoop o HDFS por sus siglas en inglés, es el componente de administración de archivos del ecosistema de Hadoop que es responsable de almacenar y realizar un seguimiento de grandes conjuntos de datos (tanto estructurados como no estructurados) en los distintos nodos de datos.

Por ejemplo en el caso de un archivo de entrada de 200 MB de tamaño, este único archivo se dividirá en varios bloques y se guardará en los nodos de datos. El tamaño de división predeterminado (que es una configuración global y puede ser configurado por el administrador de Hadoop) en HDFS es 64 MB. Por lo tanto, el archivo de 200 MB se dividirá en 4 bloques, donde 3 bloques serán de 64 MB y el cuarto bloque será de 8 MB. 

HDFS es el encargado de dividir el archivo de entrada en bloques individuales y guardarlos en nodos de datos específicos.

Hadoop 2.0

También conocido como MapReduce 2 (MR2) o Yet Another Resource Negotiator (YARN), Hadoop 2.0 reemplaza Job Tracker (de Hadoop 1.0) con YARN mientras que el sistema de archivos subyacente permanece como HDFS. Además de MapReduce, YARN también admite otros marcos de procesamiento en paralelo, por ejemplo, Spark. YARN también puede admitir hasta 10,000 notas de datos, en comparación con solo 4,000 nodos de datos compatibles con Job Tracker de Hadoop 1.0.

YARN viene con dos componentes: programador y administrador de aplicaciones. Estas dos tareas eran administradas por Job Tracker en Hadoop 1.0. La separación de estas distintas responsabilidades en los componentes individuales de YARN permite una mejor utilización de los recursos del sistema.

Además, los rastreadores de tareas en cada nodo de datos fueron reemplazados por un único administrador de nodos (que funciona en modo esclavo) en Hadoop 2.0. Node Manager se comunica directamente con el administrador de aplicaciones de YARN para la gestión de recursos. Además de todo esto, se incorpora el nodo Hot Standby, que se activa en caso de que falle el name node o nodo nombre. Ambos, nodo Hot Standby y nodo nombre, están respaldados por el nodo nombre secundario.


Written by Tutor