Saltar al contenido

¿Qué es Hadoop? Introducción, Arquitectura, Ecosistema, Componentes

¿Qué es Hadoop?

Apache Hadoop es un marco de software de código abierto que se utiliza para ejecutar aplicaciones de procesamiento de datos realizadas en un entorno informático distribuido.

Las aplicaciones utilizadas por HADOOP se ejecutan en grandes conjuntos de datos distribuidos en clústeres informáticos básicos. Los ordenadores básicos son baratos y están ampliamente disponibles. Estos son principalmente útiles para lograr una mayor potencia informática de bajo consumo.

Al igual que los datos que residen en un sistema de archivos local de un sistema informático personal, en Hadoop, los datos residen en un sistema de archivos distribuido llamado Sistema de archivos de distribución Hadoop. El modelo de procesamiento se basa en ‘Área de datos’ concepto en el que la lógica computacional se envía a los nodos del clúster (servidor) que contienen datos. Esta lógica computacional es solo una versión compilada de un programa escrito en un lenguaje de alto nivel como Java. Dicho programa procesa los datos almacenados en Hadoop HDFS.

¿Lo sabías? Un clúster de computadoras es un conjunto de múltiples unidades de procesamiento (disco de almacenamiento + procesador) que están conectadas entre sí y funcionan como un solo sistema.

En este tutorial, aprenderá,

Ecosistema y componentes de Hadoop

El siguiente diagrama muestra varios componentes en un ecosistema Hadoop.

Apache Hadoop tiene dos subproyectos:

  1. MapReduce de Hadoop: MapReduce es un modelo de computadora y un marco de software para escribir aplicaciones que se ejecutan en Hadoop. Estos programas MapReduce son capaces de procesar grandes cantidades de datos en paralelo con grandes grupos de nodos informáticos.

  2. HDFS (Sistema de archivos de distribución Hadoop): HDFS se encarga de la parte de almacenamiento de las aplicaciones Hadoop. Las aplicaciones MapReduce toman datos de HDFS. HDFS crea múltiples réplicas de bloques de datos y las distribuye para computar nodos en un clúster. Esta distribución permite cálculos fiables y extremadamente rápidos.

Si bien Hadoop es más conocido por MapReduce y su sistema de archivos distribuido, HDFS, el término también se usa para una familia de proyectos relacionados que caen bajo el paraguas de la computación distribuida y el procesamiento de datos a gran escala. Otros proyectos relacionados con Hadoop en apache incluir si Hive, HBase, Mahout, Sqoop, Flume y ZooKeeper.

Arquitectura Hadoop

Arquitectura Hadoop de alto nivel

Hadoop tiene una arquitectura maestro-esclavo para el almacenamiento de datos y el procesamiento de datos distribuidos mediante los métodos MapReduce y HDFS.

NameNode:

NameNode representó todos los archivos y directorios utilizados en el espacio de nombres

DataNode:

DataNode lo ayuda a administrar el estado de un nodo HDFS y le permite interactuar con los bloques

MasterNode:

El nodo maestro le permite realizar el procesamiento de datos en paralelo utilizando Hadoop MapReduce.

Nodo esclavo:

Los nodos esclavos son las máquinas adicionales en un clúster de Hadoop que le permiten almacenar datos para realizar cálculos complejos. Además, todos los nodos esclavos vienen con Task Tracking y DataNode. Esto le permite sincronizar los procesos con NameNode y Job Finder respectivamente.

En Hadoop, se puede configurar un sistema maestro o esclavo en la nube o en la base

Características de ‘Hadoop’

• Adecuado para análisis de macrodatos

Debido a que Big Data generalmente se distribuye y estructura por naturaleza, es mejor analizar los clústeres de HADOOP en Big Data. Dado que es la lógica de procesamiento (no los datos reales) la que fluye hacia los nodos de computación, se consume menos ancho de banda de la red. Este concepto se conoce como concepto de distrito de datos lo que ayuda a aumentar la eficiencia de una aplicación basada en Hadoop.

• escalabilidad

Los clústeres HADOOP se pueden escalar fácilmente a cualquier punto agregando nodos de clúster adicionales y, por lo tanto, aumentando el crecimiento de Big Data. Además, no es necesario modificar el escalado de la lógica de la aplicación.

Tolerancia a fallos

El ecosistema HADOOP proporciona la replicación de los datos de entrada en otros nodos del clúster. De esa forma, si falla un nodo del clúster, el procesamiento de datos puede continuar utilizando los datos almacenados en otro nodo del clúster.

Topología de red en Hadoop

La topología (configuración) de la red afecta el rendimiento del clúster de Hadoop a medida que crece el tamaño del clúster de Hadoop. Además del rendimiento, también se debe tener cuidado con la disponibilidad y el alto manejo de fallas. Para lograr este Hadoop, la formación de clústeres utiliza topología de red.

El ancho de banda de la red suele ser un factor importante a considerar al formar una red. Sin embargo, debido a que el ancho de banda puede ser difícil de medir, en Hadoop, una red se representa como un árbol y la distancia entre los nodos de este árbol (número de saltos) se considera un factor importante en la formación de un clúster de Hadoop. Aquí, la distancia entre dos nodos es igual a la suma de sus distancias con su antepasado más cercano.

El clúster de Hadoop consta de un centro de datos, el bastidor y el nodo que realmente realiza trabajos. Aquí, el centro de datos tiene racks y un rack consta de nodos. El ancho de banda de la red disponible para los procesos varía según la ubicación de los procesos. Es decir, el ancho de banda disponible se vuelve más pequeño a medida que nos movemos de