sql >> Base de Datos >  >> NoSQL >> HBase

Ecosistema de Hadoop:introducción a los componentes de Hadoop

En nuestro blog anterior, hemos discutido Introducción a Hadoop en detalle. Ahora, en este blog, vamos a responder qué es el ecosistema de Hadoop y cuáles son las funciones de los componentes de Hadoop.

En este tutorial de componentes de Hadoop, analizaremos diferentes componentes del ecosistema de la familia Hadoop, como HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper, etc.

Todos estos componentes del ecosistema de Hadoop se analizan junto con sus características y responsabilidades.

Tutorial sobre el ecosistema de Hadoop

Apache Hadoop es la herramienta más poderosa de Big Data. El ecosistema de Hadoop gira en torno a tres componentes principales:HDFS, MapReduce e YARN. Además de estos componentes de Hadoop, también hay otros componentes del ecosistema de Hadoop que juegan un papel importante para impulsar las funcionalidades de Hadoop.

Ahora comprendamos los diferentes componentes de Hadoop en detalle.

a. HDFS

Sistema de archivos distribuidos de Hadoop (HDFS) es el sistema de almacenamiento principal de Hadoop. HDFS almacena archivos muy grandes que se ejecutan en un clúster de hardware básico.

Sigue el principio de almacenar menos cantidad de archivos grandes en lugar de una gran cantidad de archivos pequeños. HDFS almacena datos de forma fiable incluso en caso de fallo del hardware. Por lo tanto, proporciona acceso de alto rendimiento a la aplicación accediendo en paralelo.

Componentes de HDFS:

  • NombreNodo – Funciona como Master en clúster de Hadoop. Namenode almacena metadatos, es decir, número de bloques, réplicas y otros detalles. Los metadatos están presentes en la memoria del maestro. NameNode asigna tareas al nodo esclavo. Debe implementarse en hardware confiable, ya que es la pieza central de HDFS.
  • Nodo de datos: Funciona como Esclavo en el clúster de Hadoop. En Hadoop HDFS, DataNode es responsable de almacenar datos reales en HDFS. DataNode también realiza operaciones de lectura y escritura según la solicitud de los clientes. DataNodes también se puede implementar en hardware básico.

b. MapaReducir

Hadoop MapReduce es la capa de procesamiento de datos de Hadoop. Procesa grandes datos estructurados y no estructurados almacenados en HDFS. MapReduce también procesa una gran cantidad de datos en paralelo.

Para ello, divide el trabajo (trabajo enviado) en un conjunto de tareas independientes (subtrabajo). En Hadoop, MapReduce funciona dividiendo el procesamiento en fases:mapear y reducir.

  • Mapa – Es la primera fase de procesamiento, donde especificamos todo el código lógico complejo.
  • Reducir – Es la segunda fase del procesamiento. Aquí especificamos procesamiento ligero como agregación/suma.

c. HILO

Hadoop YARN proporciona la gestión de recursos. Es el sistema operativo de Hadoop. Por lo tanto, es responsable de administrar y monitorear las cargas de trabajo, implementando controles de seguridad. Es una plataforma central para ofrecer herramientas de control de datos en los clústeres de Hadoop.

YARN permite múltiples motores de procesamiento de datos, como transmisión en tiempo real, procesamiento por lotes, etc.

Componentes de HILO:

  • Administrador de recursos:  Es un componente de nivel de clúster y se ejecuta en la máquina Maestra. Por lo tanto, administra los recursos y programa las aplicaciones que se ejecutan sobre YARN. Tiene dos componentes:Programador y Administrador de aplicaciones.
  • Administrador de nodos:  Es un componente de nivel de nodo. Se ejecuta en cada máquina esclava. Se comunica continuamente con Resource Manager para mantenerse actualizado

d. Colmena

Apache Hive es un sistema de almacenamiento de datos de código abierto que se utiliza para consultar y analizar grandes conjuntos de datos almacenados en archivos de Hadoop. Procesa datos estructurados y semiestructurados en Hadoop.

Hive también admite el análisis de grandes conjuntos de datos almacenados en HDFS y también en el sistema de archivos de Amazon S3. Hive usa el lenguaje llamado HiveQL (HQL), que es similar a SQL. HiveQL traduce automáticamente consultas similares a SQL en trabajos de MapReduce.

e. Cerdo

Es una plataforma de lenguaje de alto nivel desarrollada para ejecutar consultas en grandes conjuntos de datos que se almacenan en Hadoop HDFS. PigLatin es un lenguaje usado en pig que es muy similar a SQL.

Pig carga los datos, aplica los filtros requeridos y descarga los datos en el formato requerido. Pig también convierte toda la operación en tareas Map and Reduce que se procesan efectivamente en Hadoop.

Características del Cerdo:

  • Extensible – Los usuarios de Pig pueden crear funciones personalizadas para cumplir con sus requisitos de procesamiento particulares.
  • Optimización automática:  Dado que Pig permite que el sistema se optimice automáticamente. Entonces, el usuario puede concentrarse en la semántica.
  • Maneja todo tipo de datos:  Pig analiza tanto estructurados como no estructurados.

f. HBase

Apache HBase es una base de datos NoSQL que se ejecuta sobre Hadoop. Es una base de datos que almacena datos estructurados en tablas que pueden tener miles de millones de filas y millones de columnas. HBase también proporciona acceso en tiempo real para leer o escribir datos en HDFS.

Componentes de HBase:

  • Maestro de HBase: No es parte del almacenamiento de datos real. Pero realiza administración (interfaz para crear, actualizar y eliminar tablas).
  • Servidor de región: Es el nodo trabajador. Maneja las solicitudes de lectura, escritura, actualización y eliminación de los clientes. El servidor de región también se ejecuta en cada nodo del clúster de Hadoop.

g. HCatálogo

Es una capa de administración de tablas y almacenamiento en la parte superior de Apache Hadoop. HCatalog es un componente principal de Hive. Por lo tanto, permite al usuario almacenar sus datos en cualquier formato y estructura. También es compatible con diferentes componentes de Hadoop para leer y escribir datos fácilmente desde el clúster.

Ventajas de HCatalog:

  • Proporcione visibilidad para las herramientas de archivo y limpieza de datos.
  • Con la abstracción de la tabla, HCatalog libera al usuario de la sobrecarga del almacenamiento de datos.
  • Habilita las notificaciones de disponibilidad de datos.

yo. Avro

Es un proyecto de código abierto que proporciona servicios de serialización e intercambio de datos para Hadoop. Mediante la serialización, los programas de servicio pueden serializar datos en archivos o mensajes.

También almacena la definición de datos y los datos juntos en un mensaje o archivo. Por lo tanto, esto facilita que los programas comprendan dinámicamente la información almacenada en el archivo o mensaje Avro.

Avro proporciona:

  • Archivo contenedor, para almacenar datos persistentes.
  • Llamada a procedimiento remoto.
  • Estructuras de datos enriquecidas.
  • Formato de datos binarios, rápido y compacto.

j. Ahorro

Apache Thrift es un marco de software que permite el desarrollo escalable de servicios en varios idiomas. Thrift también se utiliza para la comunicación RPC. Apache Hadoop realiza muchas llamadas RPC, por lo que existe la posibilidad de utilizar Thrift para el rendimiento.

k. Taladro

El taladro se utiliza para el procesamiento de datos a gran escala. El diseño del simulacro es para escalar a varios miles de nodos y consultar petabytes de datos. También es un motor de consulta distribuido de baja latencia para conjuntos de datos a gran escala.

El taladro también es el primer motor de consulta SQL distribuido que tiene un modelo sin esquema.

Características del taladro :

  • Explorar metadatos descentralizados:  Drill no tiene requisitos de metadatos centralizados. Los usuarios de Drill no necesitan crear y administrar tablas en metadatos para consultar datos.
  • Flexibilidad – Drill proporciona un modelo de datos columnar jerárquico. Puede representar datos complejos y altamente dinámicos y también permitir un procesamiento eficiente.
  • Descubrimiento de esquemas dinámicos: Para iniciar el proceso de ejecución de consultas, Drill no requiere ninguna especificación de tipo de datos. En su lugar, Drill comienza a procesar los datos en unidades denominadas lotes de registros. También descubre el esquema sobre la marcha durante el procesamiento.

l. Mahout

Es un marco de código abierto utilizado para crear algoritmos de aprendizaje automático escalables. Una vez que almacenamos datos en HDFS, mahout proporciona las herramientas de ciencia de datos para encontrar automáticamente patrones significativos en esos conjuntos de Big Data.

m. Paseando

Se utiliza principalmente para importar y exportar datos. Por lo tanto, importa datos de fuentes externas a componentes relacionados de Hadoop como HDFS, HBase o Hive. También exporta datos de Hadoop a otras fuentes externas. Sqoop funciona con bases de datos relacionales como Teradata, Netezza, Oracle, MySQL.

n. Canal

Flume recopila, agrega y mueve de manera eficiente una gran cantidad de datos desde su origen y los envía de vuelta a HDFS. Tiene una arquitectura muy simple y flexible basada en flujos de datos en streaming. Flume es tolerante a fallas, también un mecanismo confiable.

Flume también permite el flujo de datos desde la fuente al entorno de Hadoop. Utiliza un modelo de datos extensible simple que permite la aplicación analítica en línea. Por lo tanto, usando Flume podemos obtener los datos de múltiples servidores inmediatamente en Hadoop.

o. Ambarí

Es una plataforma de gestión de código abierto. Es una plataforma para aprovisionar, administrar, monitorear y asegurar el clúster de Apache Hadoop. La administración de Hadoop se simplifica porque Ambari proporciona una plataforma segura y uniforme para el control operativo.

Beneficios de Ambari:

  • Instalación, configuración y administración simplificadas:  Puede crear y administrar clústeres a escala de manera fácil y eficiente.
  • Configuración de seguridad centralizada:  Ambari configura la seguridad del clúster en toda la plataforma. También reduce la complejidad de administrar.
  • Altamente extensible y personalizable:  Ambari es altamente extensible para gestionar servicios personalizados.
  • Visibilidad completa del estado del clúster: Ambari se asegura de que el clúster esté en buen estado y disponible con un enfoque holístico para el monitoreo.

pág. cuidador del zoológico

Zookeeper en Hadoop es un servicio centralizado. Mantiene información de configuración, nombres y proporciona sincronización distribuida. También ofrece servicios para grupos. Zookeeper también administra y coordina un gran grupo de máquinas.

Beneficios de Zookeeper:

  • Rápido: zookeeper es rápido con cargas de trabajo donde las lecturas de datos son más comunes que las escrituras. La proporción ideal de lectura/escritura es 10:1.
  • Ordenado – zookeeper mantiene un registro de todas las transacciones, que también se puede usar para transacciones de alto nivel

p. Oozie

Es un sistema de programación de flujo de trabajo para administrar trabajos de Apache Hadoop. Combina múltiples trabajos secuencialmente en una unidad lógica de trabajo.

Por lo tanto, el marco Oozie está completamente integrado con la pila Apache Hadoop, YARN como centro de arquitectura. También admite trabajos de Hadoop para Apache MapReduce, Pig, Hive y Sqoop.

Oozie es escalable y también muy flexible. Uno puede iniciar, detener, suspender y volver a ejecutar trabajos fácilmente. Por lo tanto, Oozie hace que sea muy fácil volver a ejecutar flujos de trabajo fallidos. También es posible omitir un nodo fallido específico.

Hay dos tipos básicos de trabajos de Oozie:

  • Flujo de trabajo de Oozie:  Sirve para almacenar y ejecutar flujos de trabajo compuestos por trabajos de Hadoop, por ejemplo, MapReduce, Pig, Hive.
  • Coordinador de Oozie:  Ejecuta trabajos de flujo de trabajo según cronogramas predefinidos y disponibilidad de datos.

Conclusión

Por lo tanto, Hadoop Ecosystem proporciona diferentes componentes que lo hacen tan popular. Debido a estos componentes de Hadoop, varios roles de trabajo de Hadoop están disponibles ahora.

Espero que este tutorial de Hadoop Ecosystem te ayude mucho a comprender la familia Hadoop y sus funciones. Si encuentra alguna consulta, compártala con nosotros en el cuadro de comentarios.