[Big Data] Diagrama del ecosistema Hadoop y sus componentes

Antes de comprender el ecosistema de Hadoop y sus componentes, primero comprendamos los tres componentes principales de Hadoop, a saber, HDFS, MapReduce y YARN, que juntos constituyen el núcleo del marco de computación distribuida de Hadoop .

  • HDFS (Hadoop Distributed File System): HDFS es el sistema de archivos distribuido de Hadoop , que es la base para que los datos a gran escala se distribuyan y almacenen en múltiples nodos. HDFS es el principal responsable del almacenamiento y la gestión de datos. Puede dividir grandes conjuntos de datos en múltiples bloques de datos y distribuir estos bloques de datos a diferentes nodos informáticos para su almacenamiento, mejorando la confiabilidad de los datos y la eficiencia del procesamiento.

  • MapReduce : MapReduce es el marco informático distribuido de Hadoop. Proporciona un modelo de programación simple. Al descomponer datos a gran escala en múltiples tareas pequeñas para el procesamiento paralelo, la eficiencia del procesamiento de datos se puede mejorar enormemente. El modelo MapReduce incluye dos fases, Mapear y Reducir: la fase de Mapa descompone los datos en múltiples partes pequeñas para su procesamiento, y la fase de Reducción fusiona los resultados del procesamiento.

  • YARN ( ): YARN es el administrador de recursosYet Another Resource Negotiator de Hadoop, que es responsable de asignar y administrar recursos informáticos para múltiples aplicaciones, lo que puede mejorar efectivamente la utilización de los recursos informáticos. YARN puede dividir los recursos informáticos del clúster en varios contenedores, proporcionar recursos adecuados para diferentes aplicaciones y monitorear y administrar el estado de ejecución de cada aplicación.

inserte la descripción de la imagen aquí

1.HDFS

HDFS es el sistema de archivos distribuido de Hadoop diseñado para almacenar archivos grandes en hardware económico. Es altamente tolerante a fallas y proporciona un alto rendimiento para las aplicaciones. HDFS es más adecuado para aplicaciones con conjuntos de datos muy grandes.

El sistema de archivos Hadoop HDFS proporciona una arquitectura maestra y esclava. El nodo maestro ejecuta el demonio Namenode y los nodos esclavos ejecutan el demonio Datanode.

inserte la descripción de la imagen aquí

2.MapReducir

MapReduce es la capa de procesamiento de datos de Hadoop, que divide las tareas en pequeños fragmentos y los distribuye a muchas máquinas conectadas por una red, y reúne todos los eventos en un conjunto de datos de eventos final. Los detalles básicos requeridos por MapReduce son pares clave-valor. Todos los datos, ya sean estructurados o no, deben transformarse en pares clave-valor antes de pasar por el modelo MapReduce. En el marco de MapReduce, la unidad de procesamiento se mueve a los datos, en lugar de los datos a la unidad de procesamiento.

inserte la descripción de la imagen aquí

3.HILO

YARN significaYet Another Resource Negotiator, es el administrador de recursos del clúster Hadoop. YARN se utiliza para implementar la gestión de recursos y la programación de trabajos en clústeres de Hadoop. La idea principal de YARN es dividir la programación de trabajos y la gestión de recursos en procesos individuales para su operación.

YARN proporciona dos procesos demonio; el primero se llama administrador de recursos ( Resource Manager) y el segundo se llama administrador de nodos ( Node Manager). Ambos componentes se utilizan para manejar el cálculo de datos en YARN. El administrador de recursos se ejecuta en el nodo maestro del clúster de Hadoop y negocia los recursos en todas las aplicaciones, mientras que el administrador de nodos está alojado en todos los nodos esclavos. La responsabilidad del administrador de nodos es monitorear los contenedores, el uso de recursos (como CPU, memoria, disco y red) y proporcionar detalles a los administradores de recursos.

inserte la descripción de la imagen aquí

4.colmena

Hive es un proyecto de almacén de datos para Hadoop. Hive está diseñado para facilitar el resumen informal de datos, consultas ad hoc e interpretación de grandes volúmenes de datos. Con HiveQL, los usuarios pueden realizar consultas ad hoc en conjuntos de datos almacenados en HDFS y utilizar esos datos para análisis posteriores. Hive también admite funciones personalizadas definidas por el usuario que los usuarios pueden utilizar para realizar análisis personalizados.

Entendamos cómo Apache Hive maneja las consultas SQL:

  • Los usuarios enviarán consultas al controlador (por ejemplo, ODBC/JDBC) mediante la línea de comandos o la interfaz de usuario web.
  • El controlador analizará la consulta con la ayuda del compilador de consultas para verificar la sintaxis/plan de consulta.
  • El compilador enviará solicitudes de metadatos a la base de datos de metadatos.
  • En respuesta, el metastore proporcionará metadatos al compilador.
  • Ahora es trabajo del compilador validar la especificación y reenviar el plan al controlador.
  • Ahora el conductor enviará el plan de ejecución al motor de ejecución.
  • El programa se ejecutará como un trabajo de reducción de mapas. El motor de ejecución envía el trabajo al rastreador de trabajos del nodo de nombre y le asigna al trabajo un rastreador de tareas que existe en los nodos de datos y ejecuta la consulta allí.
  • Una vez ejecutada la consulta, el motor de ejecución recibirá los resultados de los nodos de datos.
  • El motor de ejecución envía el valor del resultado al controlador.
  • El controlador enviará los resultados a la interfaz de Hive (usuario).

inserte la descripción de la imagen aquí

5.cerdo

Pig fue desarrollado por Yahoo para analizar big data almacenados en Hadoop HDFS. Pig proporciona una plataforma para analizar conjuntos de datos masivos, que consta de un lenguaje de alto nivel para comunicar aplicaciones de análisis de datos, vinculado con una infraestructura para evaluar estos programas.

Pig tiene las siguientes propiedades clave:

  • Oportunidades de optimización : Pig proporciona optimización de consultas para ayudar a los usuarios a centrarse en el significado en lugar de en la eficiencia.
  • Extensibilidad : Pig brinda la capacidad de crear funciones definidas por el usuario para procesamiento con fines especiales.

inserte la descripción de la imagen aquí

6.Mahout

Mahout es un marco para crear aplicaciones de aprendizaje automático . Proporciona un amplio conjunto de componentes que puede utilizar para crear un sistema de recomendación personalizado con un algoritmo de su elección. Mahout fue desarrollado para brindar ejecución, escalabilidad y cumplimiento.

Estos son los paquetes importantes que definen las interfaces Mahout para estas abstracciones clave:

  • DataModel
  • UserSimilarity
  • ItemSimilarity
  • UserNeighborhood

inserte la descripción de la imagen aquí

7.HBase

HBase es una base de datos distribuida, de código abierto, versionada y no relacional creada después de Google Bigtable. Es un componente importante del ecosistema Hadoop y proporciona acceso de lectura y escritura en tiempo real a los datos aprovechando la tolerancia a fallas de HDFS. Aunque HBase es una base de datos, también se le puede llamar sistema de almacenamiento de datos porque no proporciona funciones RDBMS como activadores, lenguaje de consulta e índices secundarios.

HBase tiene las siguientes características:

  • Proporciona extensibilidad modular continua.
  • Proporciona lecturas y escrituras regulares.
  • Fragmentación de tablas intuitiva y configurable.
  • Soporte de conmutación por error automática entre RegionServers.
  • Proporciona la clase base central para admitir trabajos de Hadoop MapReduce con tablas Apache HBase.
  • El acceso del cliente mediante la API de Java es sencillo.
  • Los predicados de consulta se envían a través de filtros del lado del servidor.
  • Proporciona una puerta de enlace Thrift y servicios web REST, que admiten opciones de codificación de datos binarios, XML y Protobuf.

inserte la descripción de la imagen aquí

8.Cuidador del zoológico

Zookeeper actúa como coordinador entre diferentes servicios de Hadoop, mantiene información de configuración, nombra, proporciona sincronización distribuida y brinda servicios grupales. Zookeeper se utiliza para corregir errores y condiciones de carrera para estas aplicaciones recién implementadas en entornos distribuidos.

inserte la descripción de la imagen aquí

9.primicia

Sqoop es una herramienta de transferencia de datos para transferir datos entre Hadoop y bases de datos relacionales. Se utiliza para importar datos desde un sistema de gestión de bases de datos relacionales (MySQL u Oracle) o mainframe a Hadoop (HDFS) y transformar datos en Hadoop MapReduce. También se utiliza para exportar datos a RDBMS. Sqoop utilizamap-reducepara importar y exportar datos, por lo que tiene procesamiento paralelo y tolerancia a fallas.

inserte la descripción de la imagen aquí

10.Canal

Flume es una herramienta de transporte de registros similar a Sqoop, pero funciona con datos no estructurados (registros), mientras que Sqoop funciona tanto con datos estructurados como sin estructurar. Flume es un sistema confiable, distribuido y disponible para recopilar, agregar y mover de manera eficiente grandes volúmenes de datos de registros de muchas fuentes diferentes a HDFS. No se limita a la agregación de datos de registros, sino que también se puede utilizar para transportar grandes cantidades de datos de eventos.

Flume tiene los siguientes tres componentes:

  • Source
  • Channel
  • Sink

inserte la descripción de la imagen aquí

11. Entonces

Oozie es un marco de programación de flujo de trabajo para programar trabajos de Hadoop Map/Reduce y Pig. Un flujo de trabajo de Apache Oozie es una colección de operaciones como trabajos de Hadoop Map/Reduce, trabajos de Pig, etc., organizados en un DAG (gráfico acíclico dirigido) dependiente del control. Una " dependencia de control " de una acción a otraestablece que otra acción no comenzará hasta que se complete la primera.

El flujo de trabajo de Oozie tiene los dos nodos siguientes, a saber, el nodo de flujo de control y el nodo de operación .

  • Nodos de flujo de control (Control Flow Nodes): estos nodos se utilizan para proporcionar un mecanismo para controlar la ruta de ejecución de un flujo de trabajo.

  • Nodos de operación (Action Node): los nodos de operación proporcionan un mecanismo mediante el cual los flujos de trabajo desencadenan la ejecución de tareas de cálculo/procesamiento, como trabajos Hadoop MapReduce, HDFS, Pig, SSH y HTTP.

inserte la descripción de la imagen aquí

12. Ambarí

Ambari se utiliza para configurar, administrar y monitorear clústeres de Apache Hadoop.

Proporciona a los administradores del sistema las siguientes tareas:

  • Configuración de Hadoop Cluster : proporciona un medio para instalar servicios de Hadoop en cualquier número de nodos. También maneja la configuración de los servicios Hadoop para el clúster.

  • Gestión de Hadoop Cluster : proporciona un control central para gestionar los servicios de Hadoop, como el inicio, la parada y la reconfiguración de todo el clúster.

  • Monitoreo de clústeres de Hadoop : proporciona un panel para monitorear los clústeres de Hadoop (por ejemplo, nodos inactivos, poco espacio en disco restante, etc.).

inserte la descripción de la imagen aquí

13.Chispa

Spark es un sistema informático de clúster rápido y de propósito general. Es una herramienta de big data muy poderosa. Spark proporciona API enriquecidas en Python, Scala, Java, R y otros lenguajes. Spark admite herramientas avanzadas como Spark SQL, GraphX, MLlib, Spark Streaming, R, etc. Estas herramientas se utilizan para realizar diferentes tipos de operaciones, las cuales veremos en la sección Spark.

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/be_racle/article/details/132506264
Recomendado
Clasificación