Manténgase actualizado con las últimas tendencias tecnológicas
¡Únase a DataFlair en Telegram!!
Integración de Kafka Con Hadoop
Hoy, en este Tutorial de Kafka Hadoop, hablaremos de la Integración de Kafka Hadoop. Además, comenzaremos este tutorial con la Introducción de Hadoop. Además, veremos Hadoop Producer y Hadoop Consumer en la integración de Kafka con Hadoop.
Básicamente, podemos integrar Kafka con la tecnología Hadoop para abordar diferentes casos de uso, como el procesamiento por lotes con Hadoop. Por lo tanto, en este artículo, «Integración de Hadoop de Kafka», aprenderemos el procedimiento para integrar Hadoop con Kafka de una manera más fácil y eficiente. Sin embargo, antes de integrar Kafka con Hadoop, es importante aprender la breve introducción de Hadoop.
Entonces, comencemos la integración de Kafka Hadoop.
Integración de Kafka Hadoop
¿Qué es Hadoop?
Un marco de procesamiento por lotes distribuido a gran escala que se utiliza para paralelizar el procesamiento de datos entre muchos nodos y también aborda los desafíos de la computación distribuida, incluidos los big data, es lo que llamamos Hadoop.
Básicamente, funciona según el principio del marco MapReduce introducido por Google. Ofrece una interfaz sencilla para la paralelización y la distribución de cálculos a gran escala. Además, tiene su propio sistema de archivos de datos distribuidos que llamamos HDFS (Sistema de Archivos Distribuido Hadoop). Para comprender los HDFS, divide los datos en pequeños trozos (llamados bloques) y los distribuye a todos los nodos de cualquier clúster típico de Hadoop. Además, crea la replicación de estos pequeños datos y los almacena para garantizar que los datos estén disponibles desde otro nodo si algún nodo está inactivo.
Ahora, aquí hay una imagen que muestra la vista de alto nivel de un clúster Hadoop de varios nodos:
Clúster Multinodo de Hadoop
a. Los componentes principales de Hadoop
A continuación se muestran los componentes de Hadoop:
- Nodo de nombre
Un único punto de interacción para HDFS es lo que llamamos Namenode. Como su trabajo, mantiene la información sobre las pequeñas piezas (bloques) de datos que se distribuyen entre los nodos.
- Código de nombre secundario
En caso de error en el nodo de nombre, almacena los registros de edición para restaurar el estado actualizado más reciente de HDFS.
- Nodo de datos
Mantiene los datos reales distribuidos por el namenode en bloques, así como mantiene la copia replicada de los datos de otros nodos.
- Rastreador de trabajos
Para dividir los trabajos de MapReduce en tareas más pequeñas, el rastreador de trabajos ayuda.
- Rastreador de tareas
Mientras que, para la ejecución de tareas divididas por el rastreador de tareas, el rastreador de tareas es responsable.
Sin embargo, asegúrese de que el rastreador de tareas y los nodos de datos compartan las mismas máquinas.
Compruebe cuánto sabe sobre Hadoop
Integración de Hadoop de Kafka
Para crear una canalización que esté disponible para el procesamiento o la supervisión en tiempo real, así como para cargar los datos en sistemas Hadoop, NoSQL o de almacenamiento de datos para el procesamiento y la generación de informes sin conexión, especialmente para casos de uso de publicación y suscripción en tiempo real, utilizamos Kafka.
un productor de Hadoop
Para publicar los datos de un clúster de Hadoop en Kafka, un productor de Hadoop ofrece un puente que puede ver en la imagen de abajo:
Además, los temas de Kafka se consideran URI para un productor de Kafka. Sin embargo, los URI se especifican a continuación, para conectarse a un broker de Kafka específico:
kafka: / / < kafka-broker> / < kafka-topic>
Bueno, para obtener los datos de Hadoop, el código de productor de Hadoop sugiere dos enfoques posibles, que son:
- Usando el script Pig y escribiendo mensajes en formato Avro
Básicamente, para escribir datos en un formato Avro binario, los productores de Kafka usan scripts Pig, en este enfoque. Aquí cada fila se refiere a un único mensaje. Además, la clase AvroKafkaStorage elige el esquema Avro como primer argumento y luego se conecta al URI de Kafka para insertar los datos en el clúster de Kafka. Además, podemos escribir fácilmente a varios temas y corredores en el mismo trabajo basado en scripts de cerdo, utilizando AvroKafkaStorage producer.
- Usando la clase Kafka OutputFormat para trabajos
Ahora, en el segundo método, para publicar datos en el clúster de Kafka, se utiliza la clase Kafka OutputFormat (extiende la clase de Hadoop OutputFormat). Aquí, mediante el uso de métodos de publicación de bajo nivel, publica mensajes como bytes y también ofrece control sobre la salida. Aunque, para escribir un registro (mensaje) en un clúster de Hadoop, la clase OutputFormat de Kafka utiliza la clase KafkaRecordWriter.
Además, también podemos configurar los parámetros del productor de Kafka y la información del Broker de Kafka bajo la configuración de un trabajo, para los Productores de Kafka.
b. Consumidor de Hadoop
Mientras que, un trabajo de Hadoop que extrae datos del broker de Kafka y los introduce en HDFS, es lo que llamamos un consumidor de Hadoop. Sin embargo, desde la imagen de abajo, se puede ver la posición de un consumidor Kafka en el patrón de arquitectura:
Integración de Kafka Hadoop-Consumidor de Hadoop
Como proceso, un trabajo de Hadoop realiza la carga paralela de Kafka a HDFS también algunos mapeadores con el fin de cargar los datos que dependen del número de archivos en el directorio de entrada. Además, los datos procedentes de Kafka y los desplazamientos de temas actualizados se encuentran en el directorio de salida. Además, al final de la tarea map, los mapeadores individuales escriben el desplazamiento del último mensaje consumido en HDFS. Sin embargo, cada asignador simplemente se reinicia desde los desplazamientos almacenados en HDFS, si un trabajo falla y los trabajos se reinician.
Entonces, todo esto fue en la integración de Kafka Hadoop. Espero que te guste nuestra explicación.